2013-03-28 2 views
1

Я объявил перечисление в моем drawview классе:«функциональный стиль»: незаконно, как правая сторона '.' Оператор

enum current_shape{line,rect,elli}; 

На моем главном классе у меня есть экземпляр drawview называется m_view.

Я пытаюсь установить перечисление, выполнив:

m_view.current_shape = line; 

Я также попытался

m_view.current_shape = m_view.line; 

Как я могу установить этот enum правильно?

+0

Какая полная ошибка вы получаете? –

ответ

3

Перечисление - это тип. Тип перечисления называется current_shape. Теперь вам нужен объект такого типа. Тем не менее, имена, вероятно, должны быть изменены таким образом, что объект current_shape и перечисление shape:

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

Теперь вы можете установить ваш current_shape так:

m_view.current_shape = drawview::line; 
+0

спасибо вам @sftrabbit. это было – user1665569

1

дать m_view.current_shape другое имя, current_shape зарезервирован как тип перечисления после объявления.

Смежные вопросы