私は次のクラスを持っています。ここに完全なプロトタイプがあります:
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 element type: として使用しますstd::deque<FlowEdge>
。プロジェクトをコンパイルすると、FlowEdge
クラスに使用可能なoperator=
メソッドがないというエラーが表示されます。このメソッドはデフォルトでコンパイラによって作成されますね。何が問題になる可能性がありますか?私はoperator=
公の場でも、保護されたセクションでもありません。