struct Div
{
int i;
int j;
};
class A
{
public:
A();
Div& divs;
};
在我的构造函数定义中,我有以下实现
A::A(): divs(NULL)
{}
我收到以下错误:
Error72 错误 C2354: ‘A::divs’ : 引用成员的初始化需要一个临时变量
原文由 aajkaltak 发布,翻译遵循 CC BY-SA 4.0 许可协议
class A
{
Div & ref(Div div) { return div; }
public:
A() : divs(ref(Div())) {};
Div& divs;
};
原文由 konstantin314 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
必须初始化引用以引用某物;它不能引用任何内容,因此您不能默认构造一个包含一个类的类(除非像其他人建议的那样,您定义了一个全局“null”值)。您将需要一个给出
Div
的构造函数来引用:如果您希望它能够为“null”,那么您需要一个指针,而不是引用。