error: 'Class' has incomplete type
error: 'order' has incomplete type 20 | void addOrder(Order order) { orders_.push_back(order); }
Библиотека подкючена, есть forward declaration. В чем может быть проблема? class Courier
#ifndef FOODDELIVERYSERVICE_COURIER_H
#define FOODDELIVERYSERVICE_COURIER_H
#include <algorithm>
#include <string>
#include <vector>
#include "Order.h"
class Order;
class Courier {
public:
Courier(int id, std::string name) : id_(id), name_(name) {}
int getID() { return id_; }
std::string getName() { return name_; }
void addOrder(Order order) { orders_.push_back(order); }
void removeOrder(Order order);
float getAverageDeliveryTime() ;
private:
int id_;
std::string name_;
std::vector<Order> orders_;
};
#endif //FOODDELIVERYSERVICE_COURIER_H
class Order
#ifndef FOODDELIVERYSERVICE_ORDER_H
#define FOODDELIVERYSERVICE_ORDER_H
#include "OrderContent.h"
#include "Courier.h"
#include "Customer.h"
class OrderContent;
class Courier;
class Customer;
class Order {
public:
Order(int id, Customer customer, OrderContent content, Courier courier);
int getID() const { return id_; }
Customer getCustomer() const { return customer_; }
OrderContent getContent() { return content_; }
Courier getCourier() { return courier_; }
void setCourier(Courier courier) { courier_ = courier; }
float getTotal() { return content_.getTotal(); }
void setAssignedTime(time_t time) { assigned_time_ = time; }
void setDeliveredTime(time_t time) { delivered_time_ = time; }
float getDeliveryTime();
double getTotalPrice() ;
private:
int id_;
Customer customer_;
OrderContent content_;
Courier courier_;
time_t assigned_time_ = 0;
time_t delivered_time_ = 0;
};
bool operator==(const Order& lhs, const Order rhs) {
return lhs.getID() == rhs.getID();
}
#endif //FOODDELIVERYSERVICE_ORDER_H