The code here is for filtering an image
//variables for purpose of shortening some lines
int b = image[i][j].rgbtBlue;
int g = image[i][j].rgbtGreen;
int r = image[i][j].rgbtRed;
int bound = 255;
//variables here are for rounding purposes
float Sb = .272 * r + .534 * g + .131 * b;
int tempSb = .272 * r + .534 * g + .131 * b;
//rounding to nearest integer
if (Sb != tempSb && Sb >= tempSb + 0.5)
{
tempSb++;
}
//checking if that rounded integer is higher than bound (and if so set it to bound)
void nohigherthan_int(&bound, &tempSb);
//setting the correct pixel to sepia blue
image[i][j].rgbtBlue = tempSb;
void nohigherthan_int(int *a, int *b)
{
if (*a <= *b)
{
*b = *a;
}
}
这段代码适用于我正在努力解决的功能,因为终端说,首先
指向 &bound 的“预期参数声明符”(即绑定变量的地址)
其次,我放置的原型与功能不匹配(又名是说
没有原型的函数声明在 c 的所有版本中均已弃用,与 a 冲突
先前的声明然后指向我的原型和我在其中放置变量的函数
&bound, &tempSb
函数原型只是我上面声明的函数的复制粘贴(我把它放在上面
其余代码)
我尝试将值更改为 int *a = &bound 和 int *b = &tempSb 并且错误确实消失了 但不支持默认参数。
void nohigherthan_int(&bound, &tempSb);
这条线是一个问题,更准确地说是
void
。 删除void
,就OK了