标准C++的规范并没有定义enum结构的大小。故即使在头文件对enum进行前置声明,在引用enum的时候,还是无法确定enum的大小,故无法对enum进行前置声明。
g++对标准的支持,也就有了这么一个限制。
例外的是,VC++对enum类型的大小进行了规定,为32位。故在VC++中,是支持对enum的前置声明的。
标准C++的规范并没有定义enum结构的大小。故即使在头文件对enum进行前置声明,在引用enum的时候,还是无法确定enum的大小,故无法对enum进行前置声明。
g++对标准的支持,也就有了这么一个限制。
例外的是,VC++对enum类型的大小进行了规定,为32位。故在VC++中,是支持对enum的前置声明的。