Я не хочу обсуждать C ++ или любой другой язык программирования! Я просто хочу знать, что я делаю не так с linux ubuntu по поводу компиляции helloworld.cpp!
Я изучаю C ++, поэтому мои шаги:
открыть hello.cpp в vim и написать это
#include <iostream.h>
int main()
{
cout << "Hello World!\n";`
return 0;
}
Итак, после этого я попытался в терминале это [ 116]
g++ hello.cpp
И выход
hello.cpp:1:22: fatal error: iostream.h: No such file or directory
compilation terminated.
Что вы предлагаете? Любое полезное пошаговое руководство для меня? Спасибо!
Вам следует изменить iostream.h
на iostream
. Я также получал ту же ошибку, что и вы, но когда я изменил iostream.h
на просто iostream
, он работал правильно. Может быть, это сработало бы и для вас.
Другими словами, измените строку с надписью:
#include <iostream.h>
Вместо этого сделайте так:
#include <iostream>
Заголовочные файлы стандартной библиотеки C ++, как определено в стандарте, не имеют .h
расширений.
Как уже упоминалось в ответе Риккардо Мурри , вам также нужно будет позвонить cout
по его полностью определенному имени std::cout
или иметь одну из этих двух строк (желательно ниже ваших директив #include
, но выше Ваш другой код):
using namespace std;
using std::cout;
Второй способ считается предпочтительным, особенно для серьезных программных проектов, поскольку он затрагивает только std::cout
, а не вводит все имена в std
пространство имен (некоторые из которых могут потенциально мешать именам, используемым в вашей программе).
Вы должны использовать #include <iostream>
, а не iostream.h
; форма .h очень старая и устарела с годами.
Вы можете прочитать больше, чем вы, вероятно, хотели бы знать на .h против не- .h форм здесь: http://members.gamedev.net/ sicrane / article / iostream.html
(Плюс, вы должны написать std::cout
или иметь строку using namespace std;
, иначе ваша следующая ошибка будет о том, что компилятор не найдет определение для cout
. )