Bit byte wrote:
I am writing a small parser object. I need to store keywords etc in
lsts. Because this data is to be shared by all instances of my parser
class, I have declared the variable as class variables (i.e. statics).
//declarations in parser class (private section)
static list<string> m_keywords, m_symbols_used;
static map<string, myParser::FuncData> m_mapped_funcs ;
I have initialization code like this:
m_symbols_used.clear();
//loadup keywords
m_keywords.clear()
m_keywords.push_back(ABC) ; m_keywords.push_back(CDE) ;
...
I obviously can't place this in the constructor since they are statics
- (actually, I tried but I had linkage errors). Any ideas as to how to
initialize these variales ?
Hmmm, judging by the feedback I've had so far, I'd probably make my
self clearer:
This is an (abridged version of) my class.
class MyParser
{
public:
MyParser();
MyParser(const string);
MyParser(const MyParser&);
MyParser& operator= (const MyParser&);
private:
typedef struct { string name, int argc } FuncData ;
static list<string> m_keywords ;
static map<string,FuncData> m_mapped_funcs ;
};
I wanted to know how can I initialize (i.e. populate) the static (and
private) member variables ?