gpt4 book ai didi

c++ - Gtkmm,重载 'Scale()"的调用不明确

转载 作者:行者123 更新时间:2023-11-28 06:56:20 26 4
gpt4 key购买 nike

根据 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.

最佳答案

似乎采用 Gtk::Orientation 的构造函数具有该参数的默认值,因此也可以不带参数调用它:

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

此处的关键字 explicit 没有帮助,它只是可能不允许将传递给 Orientation 类型的任何内容转换为匹配。

我说的只是提供方向值,它至少会明确表明您正在为阅读代码的任何其他人创建哪种 Scale 小部件。

关于c++ - Gtkmm,重载 'Scale()"的调用不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23130019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com