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

to nie działa. Chcę zdefiniować funkcję statyczną poza definicją klasy i uzyskać dostęp do wartości statycznej.zdefiniuj funkcję statyczną poza klasą i uzyskaj dostęp do wartości statycznej .h i .cc pliki

undefined reference to `Foo::number' 
+0

Wartość statyczne nigdy nie została zdefiniowana. Dodaj 'int Foo :: number;' in foo.cc –

Odpowiedz

1

Użytkownik zadeklarował numer Foo :: musisz dodać definicję. W pliku cpp Dodaj tę linię:

int Foo::number = 0; 
2

trzeba określić Foo::number:

// foo.cc 
... 
int Foo::number(0); 
Powiązane problemy