枚举元素定义?

Enum element definition?

struct imageInfo{

        enum SliceOrientation 
        { 
            XY_PLANE = 0, 
            XZ_PLANE = 1, 
            YZ_PLANE = 2, 
            UNCHOSEN = 3
        } 
        sliceOrientation;

        int xOnViewer;
        int yOnViewer; 
        std::string sourceName;
        int viewerWindowWidth;
        int viewerWindowHeight;
    };


int main()
{

    imageInfo image;
    image.sliceOrientation = UNCHOSEN;
}

为什么编译器一直说 UNCHOSEN is not defined?你能告诉我我在构造和使用 Enum SliceOrientation 作为 struct imageInfo 的成员时到底做错了什么吗?我打算为 c++ 编写此代码。

谢谢

SliceOrientationimageInfo 的嵌套类型,因此您需要在 struct 之外限定其名称。如果你写

image.sliceOrientation = imageInfo::UNCHOSEN;

在你的 main 中,它会编译。