1 【问题背景】C++/MFC中出现 Error C2065错误,即未定义xxx错误,而你使用的xxx是基础类库的,你心里想不可能不存在呀。当然排除你拼写错误的情况,咱不讨论这种情况。
2 【分析】检查在VS/VC基础类库加载没问题,平台设置没问题; 一般是由于将某些头文件放在stdafx.h头文件前。
3 【解法举例】
3.1 如上标题问题: Error C2065 'cout': undeclared identifier。这是由于在实现文件中这样的放置头文件"iostream.h"了,如下:
//下面是xxxx.cpp 实现
#include <iostream.h>
#include "stdafx.h"
//.........
int xxx_fun()
{
std::cout<< somevar<<std::endl;
}
3.1.1 【结果】以上就会出现error C2065;
3.2 【修改方法】将stdafx.h放在最前面,不让别的头文件话在其前面。
//下面是xxxx.cpp 实现
#include "stdafx.h"
#include <iostream.h>
//.........
int xxx_fun()
{
std::cout<< somevar<<std::endl;
}
3.2.1 【结果】以上就不会有error C2065出现;
3.3 【小结】如果将库及平台正确配置正确,以上的方法基本可以解决。这个问题是一个很容易忽略的小错误,因为放个头文件,一般我们没觉得必须要分先后。好吧,细节决定成败,竞技场第一名与第二名有时往往差别0.001秒的差距,所以,也别说什么小不小的错误了。