2011-10-26 20 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; 
} 

non funziona. Voglio definire una funzione statica al di fuori della definizione della classe e accedere a un valore statico.definisce la funzione statica all'esterno della classe e accede al valore statico .h e .cc file

undefined reference to `Foo::number' 
+0

Il valore statico non è mai stato definito. Aggiungi 'int Foo :: number;' in foo.cc –

risposta

1

Hai dichiarato Foo :: numero devi aggiungere una definizione. Nel file cpp Aggiungere questa linea

int Foo::number = 0; 
2

è necessario definire Foo::number:

// foo.cc 
... 
int Foo::number(0); 
Problemi correlati