Итак, у меня есть классы Sensor
, Car
и Agency
, где класс Agency
принимает класс Car
, а класс Car
принимает класс Sensor
. В моем исходном файле для класса Agency
у меня есть ошибка для моего оператора [] `\ function, и это говорит, что
error: invalid initialization of reference of type Agency& from expression of type Car
return *invtptr;
Моя operator[]
функция должна быть методом для индексации посредством ссылки объект данных m_inventory
, где он позволяет получить доступ к инвентарю агентства.
Вот моя operator[]
функция:
Agency &Agency::operator[](int index) {
Car *invtptr = this->m_inventory;
if (index < 0 || index > 5) {
cout << "Array is out of bounds, exiting";
exit(0);
}
else {
for (int i = 0; i < index; i++) {
invtptr++;
}
}
return *invtptr;
}
, а вот частные члены из моего заголовка файл для класса автомобиля:
private:
char m_make[256], m_model[256], m_owner[256];
int m_year, m_sensoramnt;
Sensor m_sensor[3];
float m_baseprice, m_finalprice;
bool m_available;
и вот личные члены из моего файла заголовка для класса агентства:
private:
char m_name[256];
int m_zipcode[5];
Car m_inventory[5];