我不想讨论 C++ 或任何编程语言!我只想知道我在 linux ubuntu 上编译 helloworld.cpp 做错了什么!
我正在学习 C++,所以我的步骤是:
在 vim 中打开 hello.cpp 并写下这个
#include <iostream.h>
int main()
{
cout << "Hello World!\n";`
return 0;
}
Run Code Online (Sandbox Code Playgroud)
所以,在那之后我在终端中尝试了这个
g++ hello.cpp
Run Code Online (Sandbox Code Playgroud)
并且输出是
hello.cpp:1:22: fatal error: iostream.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)
你有什么建议?任何对我有用的分步指南?谢谢!
Ric*_*rri 46
你应该使用#include <iostream>,而不是iostream.h; 该.H形式是很旧,从几年弃用。
您可以在此处阅读.h与非.h形式的更多内容:http : //members.gamedev.net/sicrane/articles/iostream.html
(另外,你应该写std::cout或写一行,using namespace std;否则你的下一个错误将是关于编译器没有找到 的定义cout。)
小智 16
您应该更改iostream.h为iostream. 我也遇到了和你一样的错误,但是当我改为iostream.hjust 时iostream,它工作正常。也许它也适合你。
换句话说,更改以下行:
#include <iostream.h>
Run Code Online (Sandbox Code Playgroud)
让它这样说:
#include <iostream>
Run Code Online (Sandbox Code Playgroud)
标准中定义的 C++ 标准库头文件没有.h扩展名。
正如Riccardo Murri 的回答所述,您还需要cout通过其完全限定名称进行调用std::cout,或者使用以下两行之一(最好在您的#include指令下方但在您的其他代码上方):
using namespace std;
Run Code Online (Sandbox Code Playgroud)
using std::cout;Run Code Online (Sandbox Code Playgroud)
第二种方式被认为更可取,尤其是对于严肃的编程项目,因为它只影响std::cout,而不是引入std命名空间中的所有名称(其中一些可能会干扰程序中使用的名称)。
| 归档时间: |
|
| 查看次数: |
205865 次 |
| 最近记录: |