То, как вы используете класс как функцию, возвращает тип данных в C ++, совершенно неверно.
В C ++ существует 2 типа данных: тип значения, ссылочный тип.
класс принадлежит второму; Из функции вы можете вернуть данные типа значения или указатель на любые данные. Но вы не можете перенастроить объект ссылочного типа. Потому что объект ссылочного типа будет освобожден сразу после того, как код выйдет из области, в которой определен объект.
Вы можете сделать любым способом:
1:
определить parseINI как:
myclass* parseINI(const char* file)
{
myclass* iniOptions = new myclass();
........
return iniOptions;
}
, а затем используйте его так:
myclass* options = parseINI("myapp.ini");
2:
определить parseINI как:
void parseINI(myclass& options, const char* file)
{
........//asigne value to options's members
}
, а затем используйте его так:
myclass options;
parseINI(options,"myapp.ini");
3:
Сделайте то, что вы сделали, но добавьте метод присвоения (operator =) в myclass