我有以下课程,这是完整的原型:
class FlowEdge{
private:
const uint32_t from_;
const uint32_t to_;
const double capacity_;
double flow_;
public:
FlowEdge();
FlowEdge(uint32_t from, uint32_t to, double capacity);
uint32_t from() const;
uint32_t to() const;
uint32_t other(uint32_t vertex) const throw(std::invalid_argument);
double getCapacity() const;
double getFlow() const;
double residualCapacityTo(uint32_t vertex) const throw(std::invalid_argument);
void addResidualFlowTo(uint32_t vertex, double delta) throw(std::invalid_argument);
};
我将此类用作 std::deque 元素类型:std::deque<FlowEdge>
在另一个类中。当我编译我的项目时,我收到一个错误,说我的FlowEdge
类没有可用的operator=
方法。这个方法是编译器默认创建的,不是吗?可能是什么问题?我没有operator=
,也没有在公共场合,也没有在受保护的部分。