Я создаю объект Expense в одном классе:Невозможно передать объект по ссылке
Expense exp(expense);
А затем передать его в другой класс (категория) в качестве ссылки:
vector<Category> *ptrCateg = &(impl->categories);
ptrCateg->at(pos).addNewExpense(exp);
Вот как я Получать его в классе Категория:
void Category::addNewExpense(const Expense &exp){
}
Вот как я определяет метод addNewExpense в заголовочном файле:
void addNewExpense(const Expense &exp);
Я не могу понять, почему я получаю ошибку здесь: void Category::**addExpense**(const Expense &exp){
. В нем говорится: «Ошибка: объявление несовместимо с« void ExpenseManager :: Category :: addNewExpense (const & exp) »(объявлено в строке 29« mycomputerandsonon \ Category.h »)».
Я бесконечно искал эту историю, и я не могу понять, что не так. Я нашел пример передачи объектов по ссылкам, и все же получаю эту ошибку ...
Простая, скомпилированная программа «main()» была бы хорошей идеей. Я подозреваю, что объявление метода «addExpense» в классе не совпадает с определением вне класса. – paercebal
Нет конкретного подтекста 'с' для сообщения« Декларация несовместимо », как в« Декларация совместима с большим текстом здесь »? – WhozCraig
@WhozCraig извините за это. Полное описание: «Ошибка: объявление несовместимо с« void ExpenseManager :: Category :: addNewExpense (const & exp) »(объявлено в строке 29« mycomputerandsonon \ Category.h »)« –