问题描述
我不想讨论 C++ 或任何编程语言!我只是想知道我在 linux ubuntu 上编译 helloworld.cpp 时做错了什么!
我正在学习 C++,所以我的步骤是:
在 vim 中打开 hello.cpp 并写入
#include <iostream.h>
int main()
{
cout << "Hello World!\n";`
return 0;
}
所以,在那之后我在终端尝试了这个
g++ hello.cpp
并且输出是
hello.cpp:1:22: fatal error: iostream.h: No such file or directory
compilation terminated.
你有什么建议?对我有什么有用的分步指南吗?谢谢!
最佳方案
您应该使用 #include <iostream>
,而不是 iostream.h
; .h 表格非常古老,多年来一直被弃用。
您可以在此处阅读有关 .h 与非 .h 形式的更多内容:\n http://members.gamedev.net/sicrane/articles/iostream.html
(另外,你应该写 std::cout
或有一行 using namespace std;
否则你的下一个错误将是关于编译器没有找到 cout
的定义。)
次佳方案
您应该将 iostream.h
更改为 iostream
。我也收到了与您收到的错误相同的错误,但是当我将 iostream.h
更改为 iostream
时,它工作正常。也许它对你也有用。
换句话说,更改以下行:
#include <iostream.h>
让它这样说:
#include <iostream>
标准中定义的 C++ 标准库头文件没有 .h
扩展名。
如前所述 Riccardo Murri’s answer ,您还需要通过其完全限定名称 std::cout
调用 cout
,或者具有以下两行之一(最好在您的 #include
指令下方但在您的其他代码上方):
using namespace std;
using std::cout;
第二种方法被认为是可取的,特别是对于严肃的编程项目,因为它只影响 std::cout
,而不是引入 std
命名空间中的所有名称(其中一些可能会干扰您程序中使用的名称)。