【问题标题】:Dev-C++ compile errorsDev-C++ 编译错误
【发布时间】:2011-05-16 23:40:11
【问题描述】:

我想使用“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 此文件包括 至少一个已弃用或过时的 标题。请考虑使用其中一种 部分中找到的 32 个标题 C++ 标准的 17.4.1.2。示例包括替换标题 对于 C++ 的标头包括, 或代替 不推荐使用的标头。到 禁用此警告使用 -Wno-deprecated。

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

#include <iostream>

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

但它再次说错误。

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

我能做什么?

【问题讨论】:

  • Dev-C++ 已经很老了。此外,您使用的编译器不是 Dev-C++,而是旧版本的 GCC。 Dev-C++ 是一个 IDE。您应该选择更现代的编译器和更现代的编译器。试试 Visual Studio Express 或 code::blocks。
  • @the_drow:更现代的编译器更现代的编译器? :P
  • @the_drow:任何比 Turbo C++ 更现代的编译器都会出现这些问题。
  • @Billy ONeal:哈哈,更现代的编译器和更现代的 IDE
  • @UncleBens:我知道这一点,但首先 OP 不知道 IDE 和编译器之间的区别,所以我必须澄清这一点。其次,他使用的是一个非常过时的编译器,可能不符合当前的 C++ 标准。

标签: c++ dev-c++


【解决方案1】:

首先,确保写出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。如果我有另一个人来找我抱怨他们定义了一个名为 copy 的函数,现在他们得到了所有各种各样的错误.....(我首先要问的是&lt;algorithm&gt;,你有using namespace std;吗?好吧!)
  • 我更喜欢使用 std::count;每次都输入 'std::' 很烦人。
【解决方案2】:

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

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

编辑:另外,请务必在int main () 上方包含using namespace std;

【讨论】:

  • 我看不出 POSIX 与 DevC++(以及扩展名 MinGW)有什么关系,它们不在 POSIX 环境中运行。 (虽然要求int main 是正确的)。 +1
猜你喜欢
  • 1970-01-01
  • 2012-07-23
  • 2011-01-10
  • 1970-01-01
  • 2012-05-14
  • 1970-01-01
  • 1970-01-01
  • 2013-02-21
  • 2013-06-10
相关资源
最近更新 更多