Delen via


Compilerwaarschuwing (niveau 2) C4356

lid: statisch gegevenslid kan niet worden geïnitialiseerd via afgeleide klasse

Opmerkingen

De initialisatie van een statisch gegevenslid is ongeldig gevormd. De compiler heeft de initialisatie geaccepteerd. Om de waarschuwing te voorkomen, initialiseert u het lid via de basisklasse.

Gebruik de Warning-pragma om deze waarschuwing te onderdrukken.

Example

In het volgende voorbeeld wordt C4356 gegenereerd:

// C4356.cpp
// compile with: /W2 /EHsc
#include <iostream>

template <class T>
class C {
   static int n;
};

class D : C<int> {};

int D::n = 0; // C4356
// try the following line instead
// int C<int>::n = 0;

class A {
public:
   static int n;
};

class B : public A {};

int B::n = 10;   // C4356
// try the following line instead
// int A::n = 99;

int main() {
   using namespace std;
   cout << B::n << endl;
}