如只要编译器从表达式推断出要定义的变量的类型,但不要初始化该变量:
int c = 0;
decltype(c) a; //从c推断出a的类型为int
但当使用decltype定义引用类型的变量时,需要初始化:
int a = 0, &ci = a;
decltype(ci) z; //错误,z为引用,需要初始化
如只要编译器从表达式推断出要定义的变量的类型,但不要初始化该变量:
int c = 0;
decltype(c) a; //从c推断出a的类型为int
但当使用decltype定义引用类型的变量时,需要初始化:
int a = 0, &ci = a;
decltype(ci) z; //错误,z为引用,需要初始化