error: expected primary-expression before ')' tokenx86-64 gcc 13.2 #Executor 1
Пишу код про гараж, в котором есть машины.
#include <cmath>
#include <iostream>
#include <string>
#include <list>
#include <vector>
#define maxCars 10;
struct Car
{
std::string maker;
std::string color;
int number;
int run;
void print()
{
std::cout << maker <<std::endl;
std::cout << color <<std::endl;
std::cout << number <<std::endl;
std::cout << run <<std::endl;
}
void beep()
{
std::cout << "beep" << std::endl;
}
};
class Garage {
private:
std::vector<Car> cars;
public:
void addCar(Car car)
{
if (cars.size() < maxCars)
{
cars.push_back(car);
} else {
std::cout << "Мест нет, идите на улицу >;)." << std::endl;
}
}
void removeCar(int id) {
for (auto it = cars.begin(); it != cars.end(); ++it) {
if (it->number == id) {
cars.erase(it);
return;
}
}
std::cout << "машины с номером " << id << ", нету такой." << std::endl;
}
void takeARide(int id, int distance) {
for (auto& car : cars) {
if (car.number == id) {
car.run += distance;
car.beep();
return;
}
}
std::cout << "машины с номером " << id << ", нету такой." << std::endl;
}
void print() {
for (auto& car : cars) {
car.print();
std::cout << std::endl;
}
}
};
int main() {
Garage garage;
Car car1 = {"Toyota", "Red", 10000, 1};
Car car2 = {"Honda", "Blue", 20000, 2};
Car car3 = {"Ford", "Green", 15000, 3};
garage.addCar(car1);
garage.addCar(car2);
garage.addCar(car3);
garage.print();
garage.takeARide(2, 500);
garage.removeCar(1);
garage.print();
return 0;
}
В 32 строчке ругается на ошибку в заголовке.
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Вы пишете:
#define maxCars 10;
Значит,
if (cars.size() < maxCars)
превращается в
if (cars.size() < 10; )
Дальше пояснять не надо?