Я использую Visual Studio 2010 Ultimate и хочу создать класс для чтения файлов .ini в C ++.Это не сложно для меня, но метод визуального подчеркивания, когда он возвращает ссылку на объект, и сообщение об ошибке не ясно для меня, поэтому мне нужна помощь.
У меня есть два класса.Один, Tokenizer, который читает файлы .ini, а второй, Token, который представляет один токен, например [Somethink].
В Tokenizer я создал метод для добавления новых токенов в список std :: list при их обнаружении.в INI-файле.
Token Tokenizer::addToken(string name){
Token newToken(name);
data.push_back(newToken);
return newToken;
}
Мне нужна эта ссылка, чтобы добавить пары ключ-> значение к нему позже.Это конструктор токена:
Token::Token(string tokenName){
name = tokenName;
}
И все должно быть в порядке, но это не так.Visual Studio подчеркивает слово addToken в приведенном выше коде, говоря, что:
Ошибка: объявление несовместимо с «error-type> Tokenizer :: addToken (std :: string name)".
Но декларация
Token Tokenizer::addToken(string name);
, и класс Token также определен, поэтому он не имеет смысла для меня.Что интересно, когда я меняю тип возвращаемого значения на VOID и удаляю инструкцию возврата, тогда все в порядке.
Пожалуйста, помогите.Это мой первый контакт со ссылками и объектным программированием на C ++.