如何将typedef struct声明转换为using别名结构体?我的写法有误
正确的C++ using别名转换方式
你原来的C风格typedef定义是给匿名结构体起了myStruct这个别名,要转换成C++的using语法,正确写法如下:
using myStruct = struct { int foo; char key; };
你原有写法的问题
你写的using struct myStruct = { ... } myStruct;不符合C++语法规则:
using的语法格式是using 别名 = 目标类型;,不能把struct 类型名放在using之后- 结构体定义必须包裹在
struct { ... }内部,不能直接写{ ... } - 末尾重复的
myStruct属于冗余写法,会直接触发语法报错
上述正确写法和你原来的typedef完全等价,都是给匿名结构体类型起了myStruct别名,用法上没有区别。
内容的提问来源于stack exchange,提问作者Alex Butane
相关产品推荐
相关产品推荐

