以下代码是由一名JUCE管理员提供给我的,并且在他的Mac上他说它正在工作,但对我来说,我在“私人”中的对象声明中得到“不允许的类型”。
我无法理解错误的原因。
class LabeledSlider : public GroupComponent
{
public:
LabeledSlider (const String& name)
{
setText (name);
setTextLabelPosition (Justification::centredTop);
addAndMakeVisible (slider);
}
void resized() override
{
slider.setBounds (getLocalBounds().reduced (10));
}
Slider slider
{
Slider::RotaryHorizontalVerticalDrag, Slider::TextBoxBelow
};
private:
LabeledSlider frequency { "Frequency" };
LabeledSlider level { "Level" };
};
Visual Studio错误的Screencap
我的Visual Studio社区2017是完全最新的,所以我不确定它为什么适合他,而不是我。
这会是什么问题?我如何解决它?
如果您知道修复具体或非常清楚您的意思,请
多谢你们。你帮我搞清楚了。
“一个对象不能包含自身,这将是无限递归。”
就像我说的那样,我对这些东西不熟悉所以这对我来说不是常识,尽管现在我明白了。
我本来应该把这部分:
private:
LabeledSlider frequency { "Frequency" };
LabeledSlider level { "Level" };
在合成器应用程序部分的类声明之外,其他对象是在合成器的实际编码部分“MainContentComponent”中定义的,其中魔术发生。
把它移到那里它现在有效。
抱歉愚蠢的问题。谢谢你的澄清。