当我在 for 循环中设置变量 sum_r
sum_g
和 sum_b
然后尝试稍后在另一个 for 循环中更改它们的值时,为什么会出现错误 error: variable 'sum_r' set but not used [-Werror,-Wunused-but-set-variable]
?
这是我当前的代码:
// Blur image
void blur(int height, int width, RGBTRIPLE image[height][width])
{
RGBTRIPLE new[height][width];
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
int sum_r = 0;
int sum_g = 0;
int sum_b = 0;
for (int ji = i - 1; ji < 3; ji++)
{
for (int jj = j - 1; jj < 3; jj++)
{
int rgb_r = image[ji][jj].rgbtRed;
int rgb_g = image[ji][jj].rgbtGreen;
int rgb_b = image[ji][jj].rgbtBlue;
sum_r += rgb_r;
sum_g += rgb_g;
sum_b += rgb_b;
}
}
}
}
return;
}
我试过使用指针和地址,但我似乎无法弄明白。有人可以解释为什么会这样吗?
void
函数中不需要return
优化编译器会将此功能挽救为:
void blur(int height, int width, RGBTRIPLE image[height][width])
{
}
https://godbolt.org/z/cEeejGKrh