Gtkmm, вызов перегруженного Scale () & quot; неоднозначно

В соответствии с Gtkmm документы Gtk::Scale::Scale перегружен конструктор и ничего не может взять или Gtk::Orientation,

Я создал объект:

Gtk::Scale m_scale;

И добавил это в Gtk::HBox

hbox.pack_start(m_scale, false, 0);

Но это выдает ошибку:

 error: call of overloaded ‘Scale()’ is ambiguous

И это говорит мне, что кандидатами являются Gtk :: Scale без каких-либо параметров и один с Gtk :: Orientation.

Как я должен заставить использовать конструктор Gtk :: Scale без параметров?

Спасибо,
С.

0

Решение

Кажется, что конструктор принимает Gtk::Orientation имеет значение по умолчанию для этого параметра, поэтому он также может быть вызван без аргументов:

public:
Scale();
explicit Scale(Orientation orientation = ORIENTATION_HORIZONTAL);

Ключевое слово explicit здесь не помогает, это только возможно запрещает преобразование чего-либо переданного в Orientation введите для соответствия.

Я говорю просто укажите значение ориентации, по крайней мере, будет ясно, какой виджет Scale вы создаете для всех, кто читает код.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]