Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
"var" : l-värdeanvändning av initont statisk datamedlem tillåts endast i klasskonstruktorn för klassen "klass"
Anmärkningar
Statiska initonly-datamedlemmar kan bara användas som l-värden vid deklarationspunkten eller i en statisk konstruktor.
Instansdatamedlemmar (icke-statiska) kan endast användas som l-värden vid deklarationspunkten eller i instanskonstruktorer (icke-statiska).
Example
I följande exempel genereras C3894:
// 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();
}