最初は英語が上手くなく、初めてStackOverflowでもうまくいきませんが、私は自分のコードの問題について説明しようとしています。この演算子関数のパラメータが多すぎます
私は、私の教授から私自身のVector(似たようなもの)を作るように頼まれました。そして、ベクトルコンテナの要求された位置の要素への参照を返す問題があります。要求された位置が範囲外である場合、いくつかのメッセージを出力してプログラムを終了する必要があります。
これをオペレータのオーバーロードにする必要があります。これが私のコードです。
double operator [](int n, const MyDoubleVector& _mV)//The arror come out at this line.
{
if(n > num)//'num' is private reference in class to count array. it typed int.
{
return 0;
}
return &_mV.data[n];//'data' is private reference in class. It declare like 'double *data = new double [num];'
}
は、私は時々「友人」この問題を解決することを見たが、私はこの行で「友人」を入れたとき、それは私が好きと述べ、「演算子[]メンバ関数でなければなりません。」 最後に、どうやってやるのか分かりません。私を助けてくれますか?
あなたは添字演算子をそのように過負荷をかけると、複数のパラメータを持つことができません。 [This](http://www.learncpp.com/cpp-tutorial/98-overloading-the-script-operator/)は読むのに便利です。 – deepmax
なぜMyDoubleVectorがパラメータとして必要ですか?オーバーロードがクラスの一部である場合は、必要なすべてにアクセスできます。 – Mark