static variable link error

后端 未结 3 2000
名媛妹妹
名媛妹妹 2020-11-22 08:27

I\'m writing C++ code on a mac. Why do I get this error when compiling?:

Undefined symbols for architecture i386: \"Log::theString\", referenced f

3条回答
  •  醉话见心
    2020-11-22 08:41

    You must define the statics in the cpp file.

    Log.cpp

    #include "Log.h"
    #include 
    
    string Log::theString;  // <---- define static here
    
    void Log::method(string arg){
        theString = "hola";
        cout   << theString << endl; 
    }
    

    You should also remove using namespace std; from the header. Get into the habit while you still can. This will pollute the global namespace with std wherever you include the header.

提交回复
热议问题