忠犬八公007 发表于 2014-4-23 10:08:49

Code::blocks中不支持C++11的问题

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

class Foo
{
public:
    Foo()=default;
    Foo(initializer_list<int> il):data(il) {}
    Foo sorted() &&;
    Foo sorted() const &;
    void print() const;
private:
    vector<int> data;
};

Foo Foo::sorted() &&
{
    sort(data.begin(),data.end());
    cout<<"调用右值引用函数"<<endl;
    return *this;
}

Foo Foo::sorted() const &
{
    Foo ret(*this);
    sort(ret.data.begin(),ret.data.end());
    cout<<"调用左值引用函数"<<endl;
    return ret;
}

void Foo::print() const
{
    for(auto c:data)
      cout<<c<<" ";
}

int main()
{
    Foo f1({3,4,6,1,8,9,0,2}),f2({7,6,5,4,3});
    f1.sorted();
    std::move(f2).sorted();
    f1.print();
    f2.print();

    return 0;
}
提示:error: unrecognized command line option '-std=c++11' 怎么改?

nsonline 发表于 2014-4-23 10:27:54

codeblocks需要一些配置来变成使用c++11进行编译,看图中红色框,勾选上。

太别致旳温柔 发表于 2014-4-23 11:16:14

支持一下,不错{:7_148:}

wjl821 发表于 2014-4-23 13:04:45

Code::blocks中支持C++11
页: [1]
查看完整版本: Code::blocks中不支持C++11的问题