c - 参数名称省略

标签 c

我已阅读有关此特定错误的其他问题,但我仍然无法理解为什么会发生这种情况。

当我将结构体 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/

相关文章:

c - 是否有类似 access() 的功能但针对特定的用户 ID?

c++ - 播放传入的视频流

谁能告诉我如何实现差分定时器的概念

c - 矩阵乘法的 sse 精度误差

c - 为 char 字符串的长度分配一个大值会成为问题吗?

java - JNI Java 使用将对象作为参数的 DLL 函数

c - C代码中的汇编寄存器指的是什么?

Java JNI : Passing multibyte characters from java to c

c - OS X Tiger上的mprotect API

使用 FFTW 计算 PSD