我以为这会奏效。
typedef auto var;
但我得到了错误:
error: typedef declared 'auto'
相反,它适用于任何其他关键字:
typedef int num;
为什么我会收到错误消息?
简单地说,这不是允许使用auto
. typedef
定义类型的别名。 auto
不是类型;在变量声明中使用时,它是初始化程序类型的替代。如果你能够typedef auto var;
,那么var
就不会是一个类型的别名。
auto 是类型修饰符而不是类型,因此不能进行类型定义
你不能这样做,因为 auto 不是真正的类型。如果你想使用var
而不是auto
then 你可以这样做:
#define var auto
但是这样做会导致问题,因为在那之后var
代码中的每一行都会被替换为auto
. 包括包含的文件。例如
int var= 0;
会变成
int auto= 0;
这将破坏编译。
因此,如果您要走这条路,请记住在定义之前包含所有头文件。