我已阅读有关此特定错误的其他问题,但我仍然无法理解为什么会发生这种情况。
当我将结构体 hsvoutput 传递给函数 RGBtoH 时,它意味着运行 RGBtoHSV 函数,该函数将 RGB 值转换为 HSV 值。然后我想将这些 HSV 值保存在我定义的结构中:
RGB 值来自从 PPM 图像获得的结构。
这是结构定义
struct hsvoutput
{
float hue; // angle in degrees
float saturation;
float value;
};
这就是函数
int RGBtoH(int r, int g, int b, struct hsvoutput, int i)
{
float h;
float s;
float v;
RGBtoHSV(r, g, b, &h, &s, &v);
hsvoutput.hue[i] = h;
hsvoutput.saturation[i] = s;
hsvoutput.value[i] = v;
return 0;
}
最佳答案
您尚未使用以下内容命名任何变量:struct hsvoutput
struct hsvoutput
是类型名称。此外,struct
本身并不能命名类型。
因此,在您的函数中,为其命名,这样您的签名可能如下所示:
int RGBtoH(int r, int g, int b, struct hsvoutput hsv, int i)
然后你可以像这样填充它:
RGBtoHSV(r, g, b, &hsv.hue, &hsv.saturation, &hsv.value);
关于c - 参数名称省略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32325107/