nano something.cpp
我是 Ubuntu 及其终端的新手。我首先尝试使用通用的“Hello World”程序编写 C++ 代码。
iostream.h
首先,我遇到了一些关于和无法识别的错误cout
。我在网上搜索后发现,这是一个较新的 C++,我们必须使用iostream
而不是iostream.h
和std::cout
而不是cout
。进行这些更改后,它运行良好(使用 gcc 编译)。
现在我尝试创建第二个程序。在这里我必须输入我的名字,它会显示“Hello Myname”。
代码如下:
#include <string>
#include <iostream>
int main()
{
string g;
std::cout << "What is your name?\n";
std::cin >> g;
std::cout << "Hello\n" << g << std::endl;
return 0;
}
当我尝试编译(使用gcc myprog.cpp -o hello
)时;出现以下错误:
prog.cpp: In function ‘int main()’:
prog.cpp:5:1: error: ‘string’ was not declared in this scope
prog.cpp:5:1: note: suggested alternative:
/usr/include/c++/4.6/bits/stringfwd.h:65:33: note: ‘std::string’
prog.cpp:5:8: error: expected ‘;’ before ‘g’
prog.cpp:7:13: error: ‘g’ was not declared in this scope
我搜索了网络,但没有找到任何帮助。我该如何摆脱这些错误?
如果有人能向我推荐一本关于“较新的” C++ 的书,我也会很高兴。
答案1
首先使用g++
进行编译,其次你忘记了字符串 的命名空间限定符g
。尝试std::string g;
。然后用 进行编译g++ myprog.cpp -o hello
。