c++ - '函数式转换' : illegal as right side of '.' operator

标签 c++ enums

我在我的 drawview 类中声明了一个枚举:

enum current_shape{line,rect,elli};

在我的主类中,我有一个名为 m_viewdrawview 实例。

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

m_view.current_shape = line;

我也试过

m_view.current_shape = m_view.line;

如何正确设置此enum

最佳答案

枚举是一种类型。您的枚举类型称为 current_shape。现在您需要一个该类型的对象。但是,可能应该更改名称,以便对象为 current_shape 并且枚举为 shape:

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

现在您可以像这样设置您的current_shape:

m_view.current_shape = drawview::line;

关于c++ - '函数式转换' : illegal as right side of '.' operator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15690249/

相关文章:

c++ - 如何优化写入大量文件的时间(从视频中保存帧)

c++ - 如何重新解释转换数组并且这样做安全吗?

c# - C#中的奇怪枚举名称解析

c++ - Visual Build专业编译错误?

c++ - boost add_reference 不适用于模板参数

c++ - 手动选择不明确的构造函数

java - 使用 Enum 的序数值来索引 Java 中的数组是不好的做法吗?

java - Java 中 int 转换为 enum

enums - 如何遍历 Haxe 中的枚举?

c - 具有枚举类型的多维数组并将它们转换为无符号字符数组