Linux下C++编译出错原因解析
程序:
#include
int main()
{
cout << "hello world" << endl;
}
编译出错:
$ g++ s.cpp -o s.out
s.cpp: In function `int main(int, char**)':
s.cpp:12: error: `cout' was not declared in this scope
s.cpp:12: error: `endl' was not declared in this scope
原因:
C++ 1998 要求cout and endl被调用使用'std::cout'和'std::endl'格式,或using namespace std;
修改后:
#include
int main()
{
std::cout << "hello world" << std::endl;
}
或
#include
using namespace std;
int main(int argc, char *argv[])
{
cout << "hello world" << endl;
}
编译通过。