2

很抱歉,这很可能是一个非常“新手”的问题,但我在 code::blocks 中运行 C++ 代码时遇到了一点问题。关于我当时正在做什么,基本上我正在关注 Bjarne Stroustrup 的“编程:使用 C++ 的原则和实践”。我真的只是开始这本书,为此我在 Ubuntu 12.04 上使用 code::blocks。无论如何,对于第一个 hello world 示例,我执行了以下操作:

首先建立一个新项目 -> 选择控制台应用程序 -> 选择 C++ 作为我的语言 -> 输入项目名称 -> 选择 GNU GCC Compiler (从阅读和搜索这可能是问题) -> 最后输入编码。

我还确保正确下载并保存“std_lib_facilities.h”头文件。完成所有这些后,我输入了简单的 hello world 代码,如下所示。在构建代码时,它产生了以下警告(尽管没有错误):“#warning 此文件包含至少一个已弃用或过时的标头,可能会被删除...”单击它会导致我进入“backward_warning.h”。但是,我仍然可以运行产生 hello world 的代码,使其看起来很好,就像它应该的那样。这可能意味着我没有问题,但警告仍然存在,我只是想知道是否有修复,或者它是否意味着有任何问题,因为我不想在后面的示例中发现这证明了成为一个问题。这似乎都是一个愚蠢的问题,但我 我是 C++ 新手,但对一般编程来说还是很新的,所以提前道歉。这是我的代码:

#include "../std_lib_facilities.h"

int main()
{
cout<<"Hello World";
return 0;
}
4

3 回答 3

2

很有可能<hash_map><ext/hash_map>

替代品将是 C++11's<unordered_map>或 C++03's <tr1/unordered_map>

如果您使用的是 GCC,则可以通过添加std=c++0x编译标志来访问 C++11 功能。这将允许您使用<unordered_map>.

于 2012-07-26T15:54:26.950 回答
0

本书中的示例对于您的 Ubuntu 来说可能已经很老了。尝试用新的标题替换已弃用的标题。

于 2012-07-26T15:51:56.653 回答
0

这个简单的“Hello World”应用程序只需要一个包含指令:

#include <iostream>

我建议在需要之前避免使用“std_lib_facilities.h”。

于 2012-07-26T16:16:00.110 回答