[英]C++: “incomplete type is not allowed” when declaring an object - What is the cause?
以下代码是由一位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错误的屏幕截图
我的Visual Studio Community 2017完全是最新的,因此我不确定为什么它对他有用而不对我有用。
这是什么问题? 我如何解决它?
如果您知道此修复程序是特定的,或者真的很清楚您的意思,请
多谢你们。 你帮我弄清楚了。
“对象不能包含自身,那将是无限递归。”
就像我说的那样,我是新手,所以虽然现在我懂了,但这对我来说并不常见。
我应该把这一部分:
private:
LabeledSlider frequency { "Frequency" };
LabeledSlider level { "Level" };
在synth应用程序的部分中的类声明之外,在该对象发生合成的实际编码部分“ MainContentComponent”期间定义了其他对象。
将其移到那里,现在可以使用了。
对不起,愚蠢的问题。 感谢您的澄清。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.