割り当て演算子のオーバーロードの仕組みを正確に把握するのに苦労しています。私は、クラスmyClassを持っています:演算子のオーバーロードは代入演算子でどのように機能しますか?
私は多くのコードをスキップしましたが、あなたは一般的な考えを得ると思います。私がプログラムを実行すると、エラー "スレッド1:EXC_BAD_ACCESS"が表示されます。 +演算子と他の関数は正しく動作しているので、演算子=で何か問題があると仮定します。私は+と=演算子を組み合わせて+ =演算子を作成したいが、=演算子を使うことはできない。
タイプIのロジックに従わなければならないことに注意してください。つまり、割り当てはベクトルで行われなければならず、return_myClassを使用してmyClassオブジェクトとして返さなければなりません。
'myClass plus = a + b;'は代入ではないため、代入演算子は呼び出されません。 – Oktalist
'return_myClass'は非常に疑わしいです。 'myClass'はどこから参照するのですか?空のベクトルに対して 'return_vector [i]'を実行することはできません。 – aschepler
'myClass plus + = a + b;'もコンパイルされません。 – aschepler