2011-10-26 7 views
5
//foo.h 
class Foo 
    { 
    private: 
     static int number; 

    public: 
     static int bar(); 
    }; 

//foo.cc 
#include "foo.h" 

int Foo::bar() 
{ 
    return Foo::number; 
} 

esto no está funcionando. Quiero definir una función estática fuera de la definición de la clase y acceder a un valor estático.definir la función estática fuera de la clase y acceder al valor estático .h y archivos .cc

undefined reference to `Foo::number' 
+0

El valor estático que nunca se definió. Agregue 'int Foo :: number;' en foo.cc –

Respuesta

1

Ha declarado Foo :: número, tiene que añadir una definición. En su archivo cpp Agregue esta línea

int Foo::number = 0; 
2

tiene que definir Foo::number:

// foo.cc 
... 
int Foo::number(0); 
Cuestiones relacionadas