JUCE - 成员函数不可行:'this' 参数类型为 const
JUCE - Member Function Not Viable: 'this' Argument Has Type const
我正在尝试通过读取 JUCE 中的 ValueTree 来创建一个选项卡 window。
我正在使用以下代码将相应选项卡的根项设置为树的子项(完整代码可用 here)。但是,我收到错误消息:
"Member function 'getValueTree' not viable: 'this' argument has type 'const GlobalValueTree', but function is not marked const".
我正在使用一个对象作为 getValueTree()
返回的树,或者函数本身是非静态的。
AccelerometerPage (const DataSelectorWindow& w)
{
tree.setRootItem (rootItem = new const OscValueTreeItem
(w.valueTree.getValueTree()->getChildWithName ("AccData")));
}
有人可以指出正确的方向,说明为什么这是不正确的以及如何解决它吗?
I get the error "Member function 'getValueTree' not viable: 'this' argument has type 'const GlobalValueTree', but function is not marked const"
这是因为 w
是 const
但方法 getValueTree
只能在非 const DataSelectorWindow
对象上工作。
如果 DataSelectorWindow 对象是您编写的,并且您认为应该允许在 const
对象上调用 getValueTree()
,请将其原型更改为:
<return-value> getValueTree(<params>) const {
...
}
如果 DataSelectorWindow 对象是由其他人编写的,则您的
AccelerometerPage
c'tor 应该接收一个非常量 DataSelectorWindow&
,像这样:
AccelerometerPage (DataSelectorWindow& w) {
...
}
我正在尝试通过读取 JUCE 中的 ValueTree 来创建一个选项卡 window。
我正在使用以下代码将相应选项卡的根项设置为树的子项(完整代码可用 here)。但是,我收到错误消息:
"Member function 'getValueTree' not viable: 'this' argument has type 'const GlobalValueTree', but function is not marked const".
我正在使用一个对象作为 getValueTree()
返回的树,或者函数本身是非静态的。
AccelerometerPage (const DataSelectorWindow& w)
{
tree.setRootItem (rootItem = new const OscValueTreeItem
(w.valueTree.getValueTree()->getChildWithName ("AccData")));
}
有人可以指出正确的方向,说明为什么这是不正确的以及如何解决它吗?
I get the error "Member function 'getValueTree' not viable: 'this' argument has type 'const GlobalValueTree', but function is not marked const"
这是因为 w
是 const
但方法 getValueTree
只能在非 const DataSelectorWindow
对象上工作。
如果 DataSelectorWindow 对象是您编写的,并且您认为应该允许在 const
对象上调用 getValueTree()
,请将其原型更改为:
<return-value> getValueTree(<params>) const {
...
}
如果 DataSelectorWindow 对象是由其他人编写的,则您的
AccelerometerPage
c'tor 应该接收一个非常量 DataSelectorWindow&
,像这样:
AccelerometerPage (DataSelectorWindow& w) {
...
}