包括 fstream,但"ifstream not found"和"identifier is undefined"
fstream included but "ifstream not found" and "identifier is undefined"
我不知道该怎么办。我已经编写了一个读取.obj文件的函数,这与其他几十个处理文本文件信息的示例函数没有什么不同。我已经包括了fstream、iostream和sstream。它编译。然而,当我运行它时,我得到:
-
内存地址(ntdll.dll)处出现未处理的异常,该异常报告关于访问违规写入位置(我正在阅读,而不是书写…)。
-
我在"ifstreammyfile"上的变量监视读取标识符"myfile"是未定义的。如果我在"ifnstreammyfile(…)"行上放置一个中断,它将读取"无法读取内存"。读取字符串字符的错误也发生在未处理异常之前。
-
在getline调用期间,fstream中的执行停止:
virtual void __CLR_OR_THIS_CALL _Lock() { // lock file instead of stream buffer if (_Myfile) _CSTD _lock_file(_Myfile); }
相关代码,没什么可看的。。。非常直接的东西。"file"是一个const char*,读作"C:\cube.obj"。使用命名空间std.
ifstream myfile(file, ios::in);
if (myfile.is_open())
{
if (myfile.good())
{
string line;
while (std::getline(myfile, line))
{
// Foo
}
}
}
myfile.close();
我不明白为什么我的文件是未定义的,尽管直接声明了它。fstream显然是正确的include,并且可以访问。文件在它应该在的位置。
如何进一步调试?教我吧,哦,聪明的人。在Visual Studio 2013中使用C++11。
已解决!我知道这与指针无关。找到了这个帖子,尝试了它所说的,现在它完美地工作了。我的依赖项中缺少MSVCRTD.lib。为什么在任何地方都没有提到这是使用fstream的前提条件,这太疯狂了。真不敢相信包含的内容还不够。
"我不得不更改运行库设置以使用多线程DLL(/MD),然后将:msvcrtd.lib添加到我的依赖项中,这解决了我在调试模式下构建时遇到的问题。"
http://www.gamedev.net/topic/660218-strange-ifstream-crash/
- Why is UINT32_MAX + 1 = 0?
- C++错误:"error: int aaa::bbb is protected within this context"
- 创建具有 new in 函数和"this is nullptr"异常的对象
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 我看到"use of undeclared identifier"错误,有人可以告诉我如何解决它吗?
- Is !NaN not a NaN?
- Directx 11 - CompileFromFile() is not compiling
- Centos7 g++ "to_string is not in a member of std"
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- Where is std::hardware_destructive_interference_size?
- 为什么即使在定义之后仍存在"Identifier is undefined error "?
- 如何解决"identifier 'gets'/'clrscr' is undefined"问题?
- 字符串返回功能不起作用 - 'identifier is underfined'
- 使用结构体的简单"identifier 'xxx' is undefined"
- 包括 fstream,但"ifstream not found"和"identifier is undefined"
- C++ ~ 在客户端中调用函数会给出错误:"identifier ____ is undefined"
- Unreal Engine 4.19 C++Undeclared Identifier错误,但它的代码是IS声明的
- 为什么我不能在我的程序中声明一个字符串:"string is undeclared identifier"
- 访问子类中的"protected"数据时"Identifier is undefined"错误
- 如何修复简单C++应用程序中的"identifier is undefined"错误?