根据Gtkmm docs 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构造函数?
谢谢, S上。
答案 0 :(得分:1)
看起来构造函数Gtk::Orientation
具有该参数的默认值,因此也可以不带参数调用它:
public:
Scale();
explicit Scale(Orientation orientation = ORIENTATION_HORIZONTAL);
此处的关键字explicit
没有帮助,它只是可能不允许将传入的任何内容转换为Orientation
类型以使其匹配。
我说只是提供方向值,它至少会明确地显示您正在为其他人阅读代码创建哪种Scale小部件。