错误C5208 表示在 C++ 代码中,当一个未命名的类被用作 typedef 的一部分时,它不能包含非静态数据成员、成员枚举或成员类以外的成员。这个限制是在 C++20 标准中引入的,旨在确保模块系统(module system)的兼容性和简单性。 为什么不能在 typedef 名称中使用的未命名类声明非静态数据成员或成员枚举 在C++20 标准...
typedef声明中未命名的类除以下成员之外不能有其他任何成员: 没有默认成员初始值设定项、 成员类或 成员枚举的非静态数据成员。 相同的限制以递归方式应用于每个嵌套类。 此限制旨在确保具有用于链接目的的typedef名称的结构的简单性。 它们必须足够简单,在编译器获取用于链接目的的typedef名称前,不需要进行任何链接计算。
typedef声明中未命名的类除以下成员之外不能有其他任何成员: 没有默认成员初始值设定项、 成员类或 成员枚举的非静态数据成员。 相同的限制以递归方式应用于每个嵌套类。 此限制旨在确保具有用于链接目的的typedef名称的结构的简单性。 它们必须足够简单,在编译器获取用于链接目的的typedef名称前,不需要进行任何链接计算。