C++ JUCE-成员功能不可行:';这';参数的类型为const

C++ JUCE-成员功能不可行:';这';参数的类型为const,c++,compiler-errors,constants,juce,C++,Compiler Errors,Constants,Juce,我试图通过读取JUCE中的ValueTree创建一个选项卡式窗口 我使用下面的代码将相应选项卡的根项设置为树的子项(完整代码可用)。但是,我得到了一个错误: 成员函数“getValueTree”不可行:“this”参数的类型为“const GlobalValueTree”,但函数未标记为const” 我使用对象作为getValueTree()返回的树,或者函数本身是非静态的 AccelerometerPage (const DataSelectorWindow& w) { tre

我试图通过读取JUCE中的ValueTree创建一个选项卡式窗口

我使用下面的代码将相应选项卡的根项设置为树的子项(完整代码可用)。但是,我得到了一个错误:

成员函数“getValueTree”不可行:“this”参数的类型为“const GlobalValueTree”,但函数未标记为const”

我使用对象作为
getValueTree()
返回的树,或者函数本身是非静态的

AccelerometerPage (const DataSelectorWindow& w)
{
    tree.setRootItem (rootItem = new const OscValueTreeItem
    (w.valueTree.getValueTree()->getChildWithName ("AccData")));
}
有人能给我指出正确的方向,为什么这是不正确的,以及如何着手解决它

我得到错误“成员函数'getValueTree'不可行:'此'参数的类型为'const GlobalValueTree',但函数未标记为const”

这是因为
w
const
但方法
getValueTree
只能在非const
DataSelectorWindow
对象上工作

如果DataSelectorWindow对象是由您编写的,并且您认为应该允许对
const
对象调用
getValueTree()
,请将其原型更改为:

<return-value> getValueTree(<params>) const {
    ...
}
AccelerometerPage (DataSelectorWindow& w) {
    ...
}