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