0

untitled1.cpp我使用以下脚本创建了一个名为dev-cpp 的文件:

#include <iostream.h>
using namespace std;
int main(){
    cout << "C++";
    return 0;
}

但是编译器会显示如下错误:

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

我有什么错误?我如何解决它?

4

7 回答 7

6

在 C++ 中,您可以在不使用.h后缀的情况下导入标准库。

#include <iostream>

所以你的固定例子:

#include <iostream>

int main(int argc, char **argv) {
    std::cout << "C++";
    return 0;
}
于 2012-04-05T07:31:32.533 回答
1

您的代码不是标准 C++。你应该说#include <iostream>(没有“.h”!)。无论您从中学习什么资料,都已经过时了大约 25 年,您应该考虑获取一些更现代的资料。

(“iostreams.h”头文件在 1990 年代早期是一个非常早期的非标准库的一部分,因此出于“兼容性”的原因,或者为了抓住非常惰性的程序员并给他们一个有用的提示,它被保留了下来。)

于 2012-04-05T07:32:00.577 回答
1

使用头文件#include<iostream>代替#include<iostream.h>

于 2012-04-05T07:32:22.223 回答
1

包括iostream而不是 iostream.h

于 2012-04-05T07:33:20.490 回答
0

它表示在这种情况下,标头iostream.h已被弃用或过时。(你只有一个标题,所以就是那个!只需阅读错误消息!)

所以你必须使用iostream,而不是iostream.h

于 2012-04-05T07:32:15.723 回答
0

这只是一个警告。

我认为您可以尝试包含iostream而不是iostream.h修复它。

于 2012-04-05T07:33:18.587 回答
0

您已经在问题中发布了原因!

此文件至少包含一个已弃用或过时的标头。

因此,真正的问题应该是:“哪个是过时的,我该如何替换它?”,而不是“有什么错误”。答:使用<iostream>。这些<*.h>版本是预标准的旧式标头。

所以:阅读错误信息,人们。

于 2012-04-05T08:45:16.447 回答