Ik probeer een class aan de praat te krijgen die een config-file parst en de relevante info bijhoudt. Daarbij gebruik ik een default constructor en een constructor die als argument een pad naar een config-file meegeeft. Die eerste wordt probleemloos aangeroepen, bij de tweede krijg ik de foutmelding (met gcc 3.3.2):
configparser.C: In constructor `ConfigParser::ConfigParser(const std::string&)':
configparser.C:25: error: no match for call to `(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >) ()'
make: *** [configparser.o] Fout 1
Ik raak er niet wijs uit. Zie niet in wat er verkeerd is aan de code. Mocht iemand een clue hebben -> ik hoor het graag. De code die ik gebruik voor de constructor (doet voorlopig niet meer dan het pad naar de configfile weergeven) is:
Class:
configparser.C: In constructor `ConfigParser::ConfigParser(const std::string&)':
configparser.C:25: error: no match for call to `(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >) ()'
make: *** [configparser.o] Fout 1
Ik raak er niet wijs uit. Zie niet in wat er verkeerd is aan de code. Mocht iemand een clue hebben -> ik hoor het graag. De code die ik gebruik voor de constructor (doet voorlopig niet meer dan het pad naar de configfile weergeven) is:
code:
1
2
3
| ConfigParser::ConfigParser(const string& configfile) throw (runtime_error): configfile_(configfile){
cout << configfile();
} |
Class:
code:
1
2
3
4
5
6
7
8
9
10
11
| class ConfigParser {
public:
ConfigParser() throw (runtime_error);
ConfigParser(const string& configfile) throw (runtime_error);
~ConfigParser();
const string& configfile() const {return configfile_;}
//blabla
private:
string configfile_;
//blabla
}; |