共有アレイを後押しするのは初めてです。
2つの配列を宣言する既存のコードがあります。
boost::shared_array<unsigned char> src;
boost::shared_array<unsigned char> dest;
私がやりたいのは、各配列が指しているものを交換することです(srcはdestになり、destはsrcになります)。私が理解しているように、shared_array.get()メソッドは、その要素の1つへのポインターを返します(任意のタイプにすることができます)。
したがって、追加された宣言は次のとおりです。
boost::shared_array<unsigned char> temp;
そして、私の追加したコードは次のとおりです。
temp.get() = src.get();
src.get() = dest.get();
dest.get() = temp.get();
これらの各行は失敗します。コンパイルエラーはC2016です:'=':左のオペランドはl値でなければなりません。
私はC++の初心者なので、エラーをグーグルで検索したところ、そのエラーメッセージは、左側のオペランドを割り当てできないことを意味していることがわかりました。ただし、左側はすべてポインターであり、ポインターを他のポインターに割り当てることができます。
だから私は何が間違っているのかわかりません。誰かが私を助けてくれますか?
前もって感謝します。
jbu