-3
私はc/c++
に慣れていないけど、私はfor loop
声明を実装しようとしているとき、私は次のようなエラーがあります。forループで3回配列を取得するにはどうすればよいですか?
error C2296: '*' : illegal, left operand has type 'unsigned char *'
unsigned char *_Orgin_Pixel_;
unsigned char *_Copy_Pixel_;
....
for (unsigned int i = 0; i < Picture_x_ * Picture_y_; i++)
{
*(_Copy_Pixel_*3 + i) = _Orgin_Pixel_[i];
}
どのように私はその問題を解決しますか?
あなたは '_Copy_Pixel_ * 3'で何をしようとしていますか?元のピクセルを3ピクセルおきにコピーしようとしていますか? (あなたはmallocを持っていて、配列を新しくして後で解放するのを忘れないでください) – doctorlove
'_Copy_Pixel_ + 3 * i'?または、「_Copy_Pixel_ + 3 * i + 0」、「_Copy_Pixel_ + 3 * i + 1」、および「_Copy_Pixel_ + 3 * i + 2」のいずれかである。 – BLUEPIXY
明確にするために、ポインタを何かで複数にすることは違法です。そうすることは意味をなさない。 – James