今天写个数字图像实验课的mfc代码,里面用到了stl,出现了一堆莫名其妙的错误提示。如下:
引用
error C2091: function returns function
d:\program files\microsoft visual studio\vc98\include\new(35) : error C2809: 'operator new' has no formal parameters
d:\program files\microsoft visual studio\vc98\include\new(36) : error C2061: syntax error : identifier 'THIS_FILE'
d:\program files\microsoft visual studio\vc98\include\new(37) : error C2091: function returns function
d:\program files\microsoft visual studio\vc98\include\new(35) : see declaration of 'new'
d:\program files\microsoft visual studio\vc98\include\new(41) : error C2061: syntax error : identifier 'THIS_FILE'
d:\program files\microsoft visual studio\vc98\include\new(42) : error C2091: function returns function
d:\program files\microsoft visual studio\vc98\include\new(35) : see declaration of 'new'
d:\program files\microsoft visual studio\vc98\include\new(42) : error C2809: 'operator new' has no formal parameters
d:\program files\microsoft visual studio\vc98\include\new(42) : error C2065: '_P' : undeclared identifier
d:\program files\microsoft visual studio\vc98\include\memory(16) : error C2061: syntax error : identifier 'THIS_FILE'
d:\program files\microsoft visual studio\vc98\include\memory(17) : error C2091: function returns function
d:\program files\microsoft visual studio\vc98\include\memory(16) : see declaration of 'new'
d:\program files\microsoft visual studio\vc98\include\memory(17) : error C2809: 'operator new' has no formal parameters
d:\program files\microsoft visual studio\vc98\include\memory(20) : error C2954: template definitions cannot nest
不过还好,google一下就出来了,嗯。我们去官网看看去:
http://support.microsoft.com/default.aspx?scid=kb;en-us;143207
我的情况应该属于case2,
也就是这个:
引用
Case Two
In addition, you may get this different set of errors:
{include directory}\new.h(80) : error C2061: syntax error : identifier 'THIS_FILE'
{include directory}\new.h(80) : error C2091: function returns function
{include directory}\new.h(80) : error C2809: 'operator new' has no formal parameters#endif
{include directory}\new.h(80) : error C2065: 'ptr' : undeclared identifier
呵呵,然后看解决办法啊:
引用
The second set of errors occurs if you add the STL include directive after the following definitions and do not include New.h among your include directives:
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
Including New.h will work around this problem as well. Note that these definitions are no longer necessary in MFC code and can be deleted.
可以这样解决:
#include <vector>
#include <algorithm>
using namespace std;
/*
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
*/
把std的那些东西放到mFC声明的代码的前面,或者直接注释掉MFC代码。rebulid all。pass。
分享到:
相关推荐
20. Error LNK2001:unresolved external symbol "public: virtual _ _thiscall C……::~C……(void)" 这是一个常见的连接错误,原因是连接时发现没有实现的外部符号。解决方法是检查外部符号的实现是否正确。 ...
6. error C2061: syntax error : identifier 'x' 该错误是由于标识符'x'附近存在语法错误引起的。解决方法是检查标识符'x'的语法是否正确,确保括号和分号的使用正确。 7. error C2065: 'i' : undeclared ...
20、error LNK2001: unresolved external symbol "public: virtual _ _thiscall C……::~C……(void)"。 此错误是由于连接时发现没有实现的外部符号,可能是变量、函数等未定义引起的。 C++编译错误千千万万,但...
fatal error C1083: Cannot open include file: 'stio.h': No such file or directory 尝试包含一个不存在的头文件,`stio.h`是错误的文件名,正确的应该是`stdio.h`。 **解决方法:** - 将`stio.h`更正为`stdio....
**错误信息**:error LNK2001: unresolved external symbol "public: virtual __thiscall C::~C(void)" **解释**:链接器找不到公共虚拟析构函数 `C::~C()` 的实现。 **解决方法**: - 确保类 `C` 的析构函数已正确...
error LNK2001: unresolved external symbol "public: virtual _thiscall C……::~C……(void)" ``` **原因:** 此错误是因为链接器找不到对应的外部符号。 **解决方法:** 确保所有依赖的库都已经正确链接,并且...
error LNK2001: unresolved external symbol "public: virtual __thiscall C::~C(void)" **描述**:未解析外部符号`public: virtual __thiscall C::~C(void)`。 **解决方案**: - 确认类`C`的析构函数已经实现。 - ...
二十、error LNK2001: unresolved external symbol "public: virtual _thiscall C……::~C……(void)" 这是因为连接时发现没有实现的外部符号(变量、函数等)。解决方法是检查外部符号是否正确。
fatal error C1083: Cannot open include file: 'R…….h': No such file or directory 这个错误是不能打开包含文件“R…….h”:没有这样的文件或目录。解决方法是检查文件路径是否正确,是否存在该文件。 LINK :...
2.fatal error C1083:Cannot open include file:’R……h’:No such file or directory. 该错误是由于编译器无法打开包含头文件“R……h”,因为该文件不存在或路径不正确。解决方法是检查包含头文件的路径是否正确...
Syntax error (error5):** - **含义:** 代码中存在语法错误。 - **解决方法:** 仔细检查报错行及其周围的代码,确保符合语言规范。 **6. Error in real constant (error6):** - **含义:** 实数常量格式错误。 -...
4. error LNK2001: unresolved external symbol "public: virtual _ _thiscall C……::~C……(void)" 该错误是连接错误之一,出现该错误的原因是链接器找不到函数或变量的定义。解决方法是检查是否声明了函数或变量...
20. **error LNK2001: unresolved external symbol public: virtual __thiscall C::~C(void)**:链接错误LNK2001表明编译器无法找到公共虚拟析构函数`C::~C()`的定义。确保所有类的虚拟函数都有正确的实现,并且链接...
##### error LNK2001: unresolved external symbol "public: virtual __thiscall C::~C(void)" 此链接错误表示未解决的外部符号。 - **解决方案**: - 确认类的析构函数在某个文件中有定义。 - 检查编译选项和链接...
8. `error C2007: #define syntax` 这表明`#define`指令的语法错误。检查`#define`后面是否跟上了有效的宏名称。 9. `error C2008: 'xxx' : unexpected in macro definition` 宏定义中出现了预期外的字符。确保宏...
20. error LNK2001: unresolved external symbol "public: virtual __thiscall C……::~C……(void)" 这是一种连接错误,发生在连接时发现没有实现的外部符号(变量、函数等)时,通常是因为变量或函数的定义不正确...
error LNK2001: unresolved external symbol "public: virtual _thiscall C……::~C……(void)" 当链接器在编译的目标文件中找不到某个外部符号的定义时,会引发此错误。解决方法是检查所有相关的头文件和源文件,...
`error LNK2001: unresolved external symbol "public: virtual __thiscall C::~C(void)"` 错误 `LNK2001` 表示无法解析外部符号 `public: virtual __thiscall C::~C(void)`。这通常是因为编译器未能找到类 `C` 的...
调试器错误信息:error C2676: binary '>>' : 'class std::basic_ostream,struct std::char_traits<char> >' does not define this operator or a conversion to a type acceptable to the predefined operator。...
`error LNK2001: unresolved external symbol "public: virtual __thiscall C::~C(void)"` **错误原因:** 链接器找不到类`C`的析构函数定义。 **解决办法:** 确保`C`类的析构函数被正确定义并且可被链接器找到...