Compilerwarnung (Ebene 2) C4356
'member' : Statisches Datenmemm kann nicht über abgeleitete Klasse initialisiert werden.
Die Initialisierung eines statischen Datenelements war krank. Der Compiler hat die Initialisierung akzeptiert. Um die Warnung zu vermeiden, initialisieren Sie das Element über die Basisklasse.
Verwenden Sie die Pragma-Warnung , um diese Warnung zu unterdrücken.
Im folgenden Beispiel wird C4356 generiert:
// 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;
}
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für