一个简单的问题:
在vc9下,新建了个简单的MFC控制台应用程序;由my.cpp和my.h组成;
在my.h中写了个简单的类,想输出(cout)字符,但编译时始终提示:error C2065: “cout”: 未声明的标识符!不知道什么问题!btw: my.cpp中加了#include <iostream>和#include<my.h>
在vc9下,新建了个简单的MFC控制台应用程序;由my.cpp和my.h组成;
在my.h中写了个简单的类,想输出(cout)字符,但编译时始终提示:error C2065: “cout”: 未声明的标识符!不知道什么问题!btw: my.cpp中加了#include <iostream>和#include<my.h>
C++编程语言互换流中的标准输出流,需要iostream.h支持。读为 "c out"
使用范例:
#include <iostream.h>
int main()
{
int a;
cout<<"请输入一个数字,按回车结束"<<endl;
cin>> a;
cout<<a<<endl;
return 0;
}
用户输入的数字由cin保存于变量a中,并通过cout输出。
using namespace std;
我已经调试通过,结果如下,但不知为何,请高人解释:
先后做了以下工作:
1)
分别在my.cpp和my.h中加一下include,都无效!
#include <iostream>
using namespace std;2)将my.h中的类定义拷贝到主程序后面,无效!
3)将my.h中的类定义拷贝到主程序前面,成功编译!我还想问各位高手在控制台程序中,不能用.h文件,也就是不能多文件编译吗?如果可以怎么做才行?
还有以前vc6版本中只需 #include <iostream.h>, 为何现在需要两个语句
最后一个小问题:#include <iostream.h>和#include <iostream>有区别吗?
这些因为版本的改动造成的问题,真是耽误时间!
#include"my.h"
运行环境正确不? 看看是不是头文件加的有问题
没什么区别,只是前者是旧的C++版本,后者是C++标准库里的头文件定义。为了头文件定义标准化才出现后者。