Static Variable in eine Klasse



  • Hi !!!

    Ich möchte in meiner Klasse eine static Variable benutzen, doch ich bekomme beim Kompilieren in dem Konstruktor einen Fehler:
    undefined reference to `bsp::z'

    Hier der dazugehörige Code:

    #ifndef BSP_H
    #define BSP_H
    
    class bsp
    {
    public:
      bsp( int m = 0 ); 
    private:
      int m_M;
      static int z;
    };
    #endif
    
    bsp::bsp( int m )
    {
      m_M = m;
      z = m;
    }
    

    Wo liegt das Problem? Weiss jemand, warum ich hier den oben angegebenen Fehler bekomme?



  • Hallo

    du must die statische Variable noch implementieren

    #ifndef BSP_H
    #define BSP_H
    
    class bsp
    {
    public:
      bsp( int m = 0 );
    private:
      int m_M;
      static int z;
    };
    #endif
    
    bsp::bsp( int m )
    {
      m_M = m;
      z = m;
    }
    
    int bsp::z = 0; // Imp und Int der statischen Variable
    

    bis bald
    akari



  • Ah, wunderbar. So klappt das 🙂

    Vielen Dank für die sehr schnelle Antwort 👍


Anmelden zum Antworten