rah*_*man 19 c++ linux gcc stl unique-ptr
如果我告诉你我无法编译,我想这很尴尬.你能帮帮我吗
#include<memory>
using namespace std;
int main()
{
std::unique_ptr<int> p1(new int(5));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
$ gcc main.cpp
main.cpp: In function ‘int main()’:
main.cpp:6:2: error: ‘unique_ptr’ was not declared in this scope
main.cpp:6:13: error: expected primary-expression before ‘int’
main.cpp:6:13: error: expected ‘;’ before ‘int’
$ gcc --version
gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
Run Code Online (Sandbox Code Playgroud)
BЈо*_*вић 32
这只是猜测.
你最有可能像这样(或类似地)编译你的程序:
g++ main.cpp
Run Code Online (Sandbox Code Playgroud)
如果你这样做,那么问题是g ++默认使用c ++ 03.要使用c ++ 11功能(和std::unique_ptr
),您需要使用更新版本的c ++:
g++ -std=c++11
Run Code Online (Sandbox Code Playgroud)
要么
g++ -std=c++14
Run Code Online (Sandbox Code Playgroud)
我也建议使用-Wall -Wextra -pedantic
.
归档时间: |
|
查看次数: |
25798 次 |
最近记录: |