我编写了一个简单的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.
为什么不能发现forward_list
?其他C ++ 11功能正在运行。例如,auto
关键字有效,尽管会出现警告,告诉我auto
是C ++ 11的功能。
答案 0 :(得分:4)
默认情况下,clang ++使用较旧的gcc-4.2 std库,它不支持C ++ 11。您可以通过命令-stdlib=libc++
告诉clang使用支持C ++ 11的std :: lib。 libc ++有<forward_list>
。