struct Div
{
int i;
int j;
};
class A
{
public:
A();
Div& divs;
};
在我的构造函数的定义,我有以下初始化需要一个临时变量C++
A::A() : divs(NULL)
{}
我收到以下错误:
Error72 error C2354:
'A::divs' : initialization of reference member requires a temporary variable
通常情况下,您不能使用引用成员默认构建类。例如,引用可以绑定到在名称空间范围(“全局”对象,以简单的词语)声明的对象。 – AnT 2009-11-09 15:00:11
如上所述,如果您使用预定义变量(如以下示例中所示),则可以执行默认构造函数。 – 2009-11-09 15:04:19
你们都是对的。但是,我建议不要使用全局“null”值 - 它不能是const,所以默认行为是使用一个全局对象,任何其他类的实例都可以更改,恕不另行通知。 – 2009-11-09 15:52:32