G ++ не находит <iostream.h> в Ubuntu - PullRequest
2 голосов
/ 16 декабря 2009

Я только что установил Ubuntu и попытался создать знаменитую программу «Hello World», чтобы убедиться, что все основы работают. По какой-то причине g ++ не может скомпилировать мою программу с ошибкой: «cout не является членом std». Я установил пакет build-essential. Я что-то упускаю?

#include <iostream.h>

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

Выглядит довольно хорошо для меня ...

Ответы [ 4 ]

17 голосов
/ 16 декабря 2009

Использование #include <iostream> - iostream.h не является стандартным и может отличаться от стандартного поведения.

См. Например C ++ облегченная запись по этому вопросу.

6 голосов
/ 16 декабря 2009

Стандартный заголовок называется <iostream>, а не <iostream.h>. Также неплохо скомпилировать код C ++ с флагами -Wall и -pedantic, которые могут указывать на множество ошибок с нестандартным кодом, которые в противном случае g ++ мог бы игнорировать. Использование:

g++ -Wall -pedantic myprog.cpp
3 голосов
/ 16 декабря 2009

Звучит так: действительно нашел iostream.h, но он не определяет cout в пространстве имен std. Это для обратной совместимости со старыми программами, которые ожидают, что cout будет в глобальном пространстве имен.

0 голосов
/ 02 декабря 2011

использование

#include<iostream>
using namespace std;

без пространства имен вы не сможете использовать cout или cin

...