'function-style cast':非法作为'。'的右侧。操作者

时间:2013-03-28 19:13:10

标签: c++ enums

我在drawview课程中声明了一个枚举:

enum current_shape{line,rect,elli};

在我的主要课程中,我有一个名为drawview的{​​{1}}实例。

我尝试通过以下方式设置枚举:

m_view

我也试过

m_view.current_shape = line;

如何正确设置此m_view.current_shape = m_view.line;

2 个答案:

答案 0 :(得分:3)

枚举是一种类型。您的枚举类型称为current_shape。现在你需要一个这种类型的对象。但是,应该更改名称,使对象为current_shape,枚举为shape

enum shape { line, rect, elli };
shape current_shape;

现在您可以将current_shape设置为:

m_view.current_shape = drawview::line;

答案 1 :(得分:1)

m_view.current_shape一个不同的名称,current_shape在声明后保留为枚举类型。