Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
'var': Die Verwendung des l-Werts eines auf initonly gesetzten statischen Datenmitglieds ist nur im Klassenkonstruktor der Klasse 'class' erlaubt.
Bemerkungen
Statische Datenmember können nur als l-Werte an ihrem Deklarationspunkt oder in einem statischen Konstruktor verwendet werden.
Instanzmitglieder (nicht statisch) können nur als l-Werte an ihrem Deklarationspunkt oder instanziell (nicht statische) Konstruktoren verwendet werden.
Example
Im folgenden Beispiel wird C3894 generiert:
// C3894.cpp
// compile with: /clr
ref struct Y1 {
initonly static int data_var = 0;
public:
// class constructor
static Y1() {
data_var = 99; // OK
System::Console::WriteLine("in static constructor");
}
// not the class constructor
Y1(int i) {
data_var = i; // C3894
}
static void Test() {}
};
int main() {
Y1::data_var = 88; // C3894
int i = Y1::data_var;
Y1 ^ MyY1 = gcnew Y1(99);
Y1::Test();
}