我编写了一个简单的 C++ 程序,它依赖于 forward_list
就像
#include <forward_list>
#include <iostream>
int main() {
std::forward_list<int> my_list;
my_list.push_front(3);
std::cout << my_list.top() << std::endl;
return 0;
}
但是,当我使用 clang++ my_program.cpp -std=c++11 -o my_program
在 Mac 上编译此程序时,出现以下错误:
my_program.cpp:1:14: fatal error: 'forward_list' file not found
#include <forward_list>
^
1 error generated.
为什么 clang 找不到 forward_list
?其他 C++11 功能正在运行。例如,auto
关键字可以工作,尽管会出现一条警告,告诉我 auto
是 C++11 功能。
最佳答案
默认情况下,clang++ 使用较旧的 gcc-4.2 std 库,该库不支持 C++11。您可以通过命令 -stdlib=libc++
告诉 clang 使用支持 C++11 的 std::lib 。 libc++ 有 <forward_list>
.
关于c++11 - 为什么 clang++ 缺少转发列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16880571/