我不熟悉c/c++
,但是当我尝试实现for loop
语句时,我遇到以下错误:
错误C2296:'*':非法,左操作数的类型为'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];
}
如何解决该问题?
答案 0 :(得分:0)
我解决了这个问题。如下所示,
for (unsigned int i = 0; i < Picture_x_ * Picture_y_; i++)
{
*(_Copy_Pixel_ + i * 3 + 0) = _Orgin_Pixel_[i];
*(_Copy_Pixel_ + i * 3 + 1) = _Orgin_Pixel_[i];
*(_Copy_Pixel_ + i * 3 + 2) = _Orgin_Pixel_[i];
}
如果我想分成2级联,为什么它们不同呢?
for (unsigned int i = 0; i < Picture_y_ ; i++)
for (unsigned int j = 0; j < Picture_x_ ; j++)
{
_Copy_Pixel_[(i*Picture_y_ + j *3+ 0)] = _Orgin_Pixel_[i*Picture_y_ + j];//B
_Copy_Pixel_[(i*Picture_y_ + j*3 + 1)] = _Orgin_Pixel_[i*Picture_y_ + j];//G
_Copy_Pixel_[(i*Picture_y_ + j*3 + 2)] = _Orgin_Pixel_[i*Picture_y_ + j];//R
}
我无法理解,我错过了什么吗?