C++11:auto的注意事项

C++11:auto的注意事项

1、定义变量时,必须初始化

auto a = 10;   //正确
auto b;        //错误

2、VS不支持函数形参auto,Qt支持

void func(auto a)    //VS不可以,Qt可以
{
}

3、auto变量不能作为自定义类型的成员变量

struct Test
{
    int a;
    auto b = 10; //错误,即使初始化了也不行
};

4、不能够是auto数组

auto a[3] = {1, 2, 3};    //错误

5、模板实例化类型不能是auto类型

vector<auto> a = { 1 };    //错误,有初始化也不行