如果我有以下情况:

struct LineChartScene::LineChartSceneImpl
{
    enum ContextMenuAction {ShowLabels, ShowPoints, SaveAsImage};
};

如何在ShowLabels结构外部访问ShowPointsLineChartScene::LineChartSceneImpl等?我以为LineChartScene::LineChartSceneImpl::ContextMenuAction::ShowLabels可以工作,但是不行。我正在使用C++,Qt Creator 2.2.1。

最佳答案

struct LineChartScene::LineChartSceneImpl
{
    enum ContextMenuAction {ShowLabels, ShowPoints, SaveAsImage};
};

用作
LineChartScene::LineChartSceneImpl::ShowLabels

对于您的信息,C++11 also has strong typed enums恰好具有您期望的 namespace 语义:

07-24 15:23