編譯器錯誤 C3366
'variable':Managed 或 WinRTtypes 的靜態數據成員必須在類別定義內定義
您嘗試參考的 WinRT 或 .NET 類別或介面的靜態成員不在該類別或介面的定義範圍內。
編譯器必須知道類別的完整定義 (以在一個階段後發出中繼資料) ,且需要靜態資料成員在該類別內初始化。
例如,下列範例會產生 C3366,並說明如何加以修正:
// C3366.cpp
// compile with: /clr /c
ref class X {
public:
static int i; // initialize i here to avoid C3366
};
int X::i = 5; // C3366