1

我想使用“Dev-C++”编译 c++ 代码。所以我下载并安装它,并编写以下代码:

#include <iostream.h>

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

但是当我编译它时,它说:

在来自 E:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31 的文件中,来自 [myfile path]\Untitled1.cpp:1: E:/Dev-Cpp/include/c++/ 3.4.2/backward/backward_warning.h:32:2: 警告:#warning 此文件至少包含一个已弃用或过时的标头。请考虑使用 C++ 标准第 17.4.1.2 节中的 32 个标头之一。示例包括将标头替换为 C++ 包含的标头,或者代替已弃用的标头。要禁用此警告,请使用 -Wno-deprecated。

看到错误后,我将代码更改为以下代码:

#include <iostream>

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

但它再次表示错误。

我在 Turbo C++ 中轻松编译了第一个代码,但在 Dev-C++ 中...

我能做些什么?

4

2 回答 2

5

首先,确保写出 的完整定义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";
}
于 2010-11-28T20:47:14.947 回答
2

确保你放在int前面main () {

我相信 POSIX 和适当的语言标准都需要任何 C/C++ 程序的main()函数来返回一个int(如果我错了,有人纠正我)。

编辑:另外,一定要包括using namespace std;上面的int main ().

于 2010-11-28T20:48:10.077 回答