枚举类型的声明点是什么?它是否紧跟在枚举的名称之后?我看到了标准C++ 14 (n4296)§3.3.2/3:
枚举的声明点紧跟在其枚举说明符(7.2)或其第一个不透明枚举声明(7.2)中的标识符(如果有)之后,以先出现的为准
但是当我试图重现它的时候;
template <class T>
struct CL
{
using UndType = int;
};
enum class E: CL<E>::UndType; //error: E is undefined
我在所有编译器上都得到了一个错误,尽管枚举E
的枚举基础被放在标识符之后,并且必须是可见的。
https://stackoverflow.com/questions/35695071
复制相似问题