3
类
我有下面的类,这里是充满它的原型:丢失的运算符=在
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=
也没有公开,也没有在受保护的部分。
有关默认复制赋值运算符的更多信息,请参见[C++参考](http://en.cppreference.com/w/cpp/language/as_operator)。 –