2

我刚刚安装了 Ubuntu,并尝试制作著名的“Hello World”程序,以确保所有基础功能都正常工作。但由于某种原因,g++ 无法编译我的程序并出现错误:“'cout' 不是 'std' 的成员”。我已经安装了 build-essential 软件包。我还缺少其他东西吗?

#include <iostream.h>

int main() {
   std::cout << "Hello World!" << std::endl;
   return 0;
}

在我看来还不错...

4

4 回答 4

17

使用#include <iostream>-iostream.h不是标准的,可能与标准行为不同。

参见例如C++ FAQ lite 条目

于 2009-12-15T23:02:16.100 回答
6

标准头被称为<iostream>,不是<iostream.h>。此外,使用 -Wall 和 -pedantic 标志编译 C++ 代码也是一个好主意,这可以指出许多非标准代码的错误,否则 g++ 会忽略这些错误。采用:

g++ -Wall -pedantic myprog.cpp
于 2009-12-15T23:02:49.110 回答
3

听起来它确实找到iostream.h了,但它没有coutstd命名空间中定义。它是为了向后兼容期望cout在全局命名空间中的旧程序。

于 2009-12-15T23:36:05.397 回答
0

采用

#include<iostream>
using namespace std;

没有命名空间,您将无法使用 cout 或 cin

于 2011-12-02T15:06:24.707 回答