Why this function overloading is not working?
c++, overloading
Solution
Because the `CConFile::GetString()` is, as the name suggest, a class member function, that is not accessible the way you call it in the second function. The other function you're declaring, `GetString()`, is a global one.
You just forgot to add `CConFile::` to the second function...
Problem
``` class CConfFile { public: CConfFile(const std::string &FileName); ~CConfFile(); ... std::string GetString(const std::string &Section, const std::string &Key); void GetString(const std::string &Section, const std::string &Key, char *Buffer, unsigned int BufferSize); ... } string CConfFile::GetString(const string &Section, const string &Key) { return GetKeyValue(Section, Key); } void GetString(const string &Section, const string &Key, char *Buffer, unsigned int BufferSize) { string Str = GetString(Section, Key); // *** ERROR *** strncpy(Buffer, Str.c_str(), Str.size()); } ``` Why do I get an error `too few arguments to function ‘void GetString(const std::string&, const std::string&, char*, unsigned int)'` at the second function ? Thanks