Advertencia del compilador (nivel 2) C4356
"member": no se puede inicializar el miembro de datos estático mediante una clase derivada
La inicialización de un miembro de datos estático tenía un formato incorrecto. El compilador aceptó la inicialización. Para evitar la advertencia, inicialice el miembro a través de la clase base.
Para suprimir esta advertencia, use la pragma warning.
El ejemplo siguiente genera la advertencia C4356:
// 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;
}
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de