我在VS2010中创建了一个c ++ Win32控制台应用程序,并在一个单独的类中创建。
void Thing::display(){
Point pt(0, 0);
for( ; pt.y < m; pt.y++){
for( ; pt.x < m; pt.x++){
if (pt == pi){
std::cout << "[ ]";
}else {
std::cout << "[" << Array[pt.x][pt.y] << "]";
if ( pt.x == m ){
std::cout << std::endl;
}
}
}
}
}
存在于Thing类中的,它在h和cpp之间分开。 point是一个(x,y)点,Array是一个二维的int数组,pi是当前位置跟踪的私有成员。它不断抛出错误
error C2039: 'cout' : is not a member of 'std'
error C2065: 'cout' " undeclared identifier
它对endl做了同样的事情。我可以进入我的_tmain()并编写
cout << "Hello world" << endl
没问题。当我试图告诉编译器这个文件
时using namespace std;
它抛出inteslliSense:name必须是命名空间名称
编辑:建议将#include放入头文件导致
error C1010: unexpected end of file while looking for precompiled header. did you gorget to add '#include "StdAfx.h"' to your source?
将#inlcude移动到stdafx.h导致相同。
Edit2(已解决):
放置
#include <iostream>
进入stdafx.h,然后列出该程序的头文件。并列出
#include "stdafx.h"
在.cpp文件的开头。
答案 0 :(得分:3)
你是否包含了iostream
#include <iostream>
在你的头文件中?
答案 1 :(得分:2)
您可能未包含<iostream>
。
答案 2 :(得分:2)
您需要加入<iostream>
。
您列出的第二个问题由错误消息本身回答:
错误C1010:查找预编译头时意外结束文件。你忘了在你的来源中添加'#include“StdAfx.h”'吗?
如果使用预编译头,则需要在.cpp文件中包含stdafx.h。你可能忘记这样做,所以错误告诉你“嘿,我正在寻找这个特殊的标题,但我在文件的末尾但仍然没有找到它”。