JUCE - 成员函数不可行:'this'参数具有常量类型
JUCE - Member Function Not Viable: 'this' Argument Has Type const
我正在尝试通过从 JUCE 中的 ValueTree 读取来创建选项卡式窗口。
我使用以下代码将相应选项卡的根项设置为树的子项(此处提供完整代码)。但是,我收到错误:
"成员函数'getValueTree'不可行:'this'参数的类型为'const GlobalValueTree',但函数未标记为const"。
我正在使用一个对象作为getValueTree()
返回的树,或者函数本身是非静态的。
AccelerometerPage (const DataSelectorWindow& w)
{
tree.setRootItem (rootItem = new const OscValueTreeItem
(w.valueTree.getValueTree()->getChildWithName ("AccData")));
}
有人可以指出我正确的方向,为什么这是不正确的以及如何解决它吗?
我收到错误"成员函数'getValueTree'不可行:"this"参数的类型为'const GlobalValueTree',但函数未标记为const"
这是因为w
const
但方法getValueTree
只能对非常量DataSelectorWindow
对象起作用。
如果 DataSelectorWindow 对象是由您编写的,并且您认为应该允许在const
对象上调用getValueTree()
,请将其原型更改为:
<return-value> getValueTree(<params>) const {
...
}
如果 DataSelectorWindow 对象是由其他人编写的,则 AccelerometerPage
c'tor 应该收到一个非常量DataSelectorWindow&
,像这样:
AccelerometerPage (DataSelectorWindow& w) {
...
}
相关文章:
- 如何创建长度由常量参数指定的数组
- 通过常量引用传递参数的矩阵模板类
- 具有常量引用参数的函数模板专用化
- 使用自动推导的 lambda 参数作为常量表达式
- C++:常量引用参数
- 常量参数"real"常量吗?
- 常量参数存储在哪里 (C++)?
- 常量函数,当其参数是对文字类型的引用时
- 区分接受常量参数的函数引用/指针和与函数参数同名的非常量参数
- 必须非常量别名参数及其默认参数常量
- 字符串参数常量字符* 和常量 wchar_t*
- 可选参数常量引用重新分配
- 推导模板化类参数的模板参数:常量问题
- 从函数参数常量字符串 (&) 设置值
- 为什么我必须声明这些引用参数常量或按值传递
- C++使用一个参数常量重载
- 如果要执行const_cast,为什么要制作参数常量?
- 模板非类型参数常量限制筛选器库
- 标记方法指针/引用参数常量真的会显著影响性能吗
- 当函数参数常量引用 T 时,为什么 T 的模板参数推导'skips'数组元素的恒定性?