Ошибки компиляции Dev-C ++ - PullRequest
       13

Ошибки компиляции Dev-C ++

1 голос
/ 28 ноября 2010

Я хочу использовать "Dev-C ++" для компиляции кодов c ++.Поэтому я загружаю и устанавливаю его и пишу этот код:

#include <iostream.h>

main () {
     cout << "124";
}

, но когда я скомпилировал его, он сказал:

В файле, включенном в E: / Dev-Cpp /include / c ++ / 3.4.2 / backward / iostream.h: 31, из [путь к моему файлу] \ Untitled1.cpp: 1: E: / Dev-Cpp / include / c ++ / 3.4.2 / backward / backward_warning.h: 32: 2: warning: #warning Этот файл содержит как минимум один устаревший или устаревший заголовок.Пожалуйста, рассмотрите возможность использования одного из 32 заголовков, найденных в разделе 17.4.1.2 стандарта C ++.Примеры включают замену заголовка на заголовок для C ++, включает или вместо устаревшего заголовка.Чтобы отключить это предупреждение, используйте -Wno-deprecated.

После того, как я увидел ошибки, я изменил свой код на этот код:

#include <iostream>

main () {
     cout << "124";
}

, но он снова сказал, что ошибки.*

Я легко компилирую первый код в Turbo C ++, НО в Dev-C ++ ...

Что я могу сделать?

Ответы [ 2 ]

5 голосов
/ 28 ноября 2010

Сначала убедитесь, что вы записали полное определение main, включая тип возврата int.Исключение типа возврата - это старая устаревшая практика, которая в наши дни не работает.

Во-вторых, в заголовках нового стиля - тех, в которых отсутствует расширение .h - стандартная библиотека находится под std пространство имен.Есть два способа заставить вашу программу работать:

1. Добавить квалификатор std:: к cout.

#include <iostream>

int main () {
    std::cout << "124";
}

2. Добавить объявление using, чтобы разрешить неквалифицированные ссылки на пространство имен std.

#include <iostream>

using namespace std;

int main () {
    cout << "124";
}
2 голосов
/ 28 ноября 2010

Убедитесь, что вы поставили int перед main () {

Я полагаю, что POSIX и соответствующим языковым стандартам для возврата int требуется функция main() любой программы на языке Си / Си ++, *1005*поправьте меня, если я ошибаюсь).

РЕДАКТИРОВАТЬ: Кроме того, обязательно включите using namespace std; выше int main ().

...