VC++6.0 (undeclared identifier)

大家帮帮忙,看看这个程序。
#include<iostream>

int main()
{
int x=5;
int y=7;
std::cout<<end1;
std::cout<<x+y<<""<<x*y;
std::cout<<end;
return 0;
}
运行结果:
Compiling...
1.cpp
E:\my project\hello world\1\1.cpp(8) : error C2065: 'end1' : undeclared identifier
E:\my project\hello world\1\1.cpp(10) : error C2065: 'end' : undeclared identifier
我是照着一本书上打的,结果出现这样的错误,看半天不知道为什么。
照着有的网页上说的加上
#include<string>
using namespace std;
还是出现一样的错误。

谢谢了!
谢谢大家的回答!我已经改过来了,可是还是出现了错误。

我用的是VC++6.0英文版的,我怀疑是我的编译器有问题,可是别的程序我也都能运行,欢迎大家解答。

#include<iostream>

int main()
{
int x=5;
int y=7;
std::cout<<endl;//这个就是end line,不是一
std::cout<<x+y<<""<<x*y;
std::cout<<endl; //这个就是end line,不是一
return 0;
}
这样的话还是有一个错误。
Compiling...
1.cpp
D:\my project\1\1\1.cpp(7) : error C2065: 'endl' : undeclared identifier

undeclared identifier 是未申明变量的意思。
关键字是endl,是英文字母l,不是阿拉伯数字1。
明白了吗?以后注意,关键字没有变蓝就说明打错了。
只有一个错误?你确定两个都改了吗?
你试试这么打:
#include<iostream.h>

int main()
{
int x=5;
int y=7;
cout<<endl;
cout<<x+y<<""<<x*y;
cout<<endl;
return 0;
}
.h是c语言的遗风,一般是不用的
我用c++时一般会这么写:
#include<iostream>

using std::cout;
using std::endl;

int main()
{
int x=5;
int y=7;
cout<<endl;
cout<<x+y<<""<<x*y;
cout<<endl;
return 0;
}
至于你为什么不行我不太清楚,可能是编译器问题.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-02-19
这2句错误是说 你有未申明变量 应该改成这样

#include<iostream>

int main()
{
int x=5;
int y=7;
std::cout<<endl; //这个是endl(end line) 而不是end1 或者 end
std::cout<<x+y<<""<<x*y;
std::cout<<endl;
return 0;
}
第2个回答  2007-02-21
刚才我试了一下,发觉如果把endl都改为std::endl,就可以通过编译,但是在链接的时候出现了问题。我用的是gcc。你可以使用别的编译器尝试下。

刚才用vs 2003编译了一下,可以通过,只是会出现一些警告。

我的意思是把endl前面都加上std::
命名空间的问题,如果你不指定using namespace std;
你就必须在每个标准库内的关键词加上std::
第3个回答  2007-02-19
问题出在这句std::cout<<end1;是endl不是end1

上楼的好快啊,我正想回答
第4个回答  2018-03-09
添加 using namespace std; 然后把cout前面的std去掉就可以了。或者是在endl前面添加std::, 这样也行。
相似回答