Duplicar posibles:
Defining static members in C++¿Por qué no puedo inicializar el campo estático en C++
estoy trabajando poco en C++, y no entiendo cómo utilizar los campos estáticos en C++ , parecen inútiles. Por favor corrigeme.
no puedo hacer eso:
class AClass{
public:
static int static_field = 0;
};
Y eso no funciona bien
class AClass{
public:
static int static_field;
};
int main(){
int AClass::static_field = 0;
return 0;
}
'@ w00te' y otros ya han respondido a la pregunta. Creo que su confusión surge del hecho de que en C++ * declaración * y * definición * son dos cosas diferentes. Uno hace que el símbolo sea visible, el otro asigna almacenamiento. Realice una búsqueda en "declaración C++ vs definición" o similar. – David
Hrm? Mi respuesta tiene el temporizador más largo y no recuerdo usar la definición de palabra en ningún lado. De MSFT: "Declaración: es una declaración de nombre de clase sin definición siguiente, como clase T ;." y eso es lo que tiene en su segunda muestra de código. –