为了使gcc 4.8.1支持新的" auto" c ++ 11中的功能?

时间:2015-05-01 09:55:01

标签: c++ c++11 gcc

我使用gcc 4.8.1编译器编译我的代码,该代码使用 auto 的新c ++ 11功能。假设 auto 关键字会自动推断数据类型。但是,编译器会抛出错误:

   *** does not name a type

这是我的代码:

#include<iostream>
#include<string>
using namespace std;

int main()
{

    string str="If you want to do it, try your best.";
    cout<<str<<endl;
    for(auto i:str){             //<-error here
        cout<<i<<endl;
    }


    return 0;
}

错误是:

'i' does not name a type.....(of course there are some error message following)

我的编译器版本是:gcc version 4.8.1(in MingW)

根据gcc文档,这个版本的gcc已经支持c ++ 11, 那么为什么会这样呢?

1 个答案:

答案 0 :(得分:3)

您需要使用-std=c++11标志

进行编译

e.g:

gcc somefile.c -std=c++11