Я два Структуры определяется как так (в color.h
):Можно ли передать структурную переменную в качестве аргумента функции без предварительного определения?
typedef struct rgb {
uint8_t r, g, b;
} rgb;
typedef struct hsv {
float h, s, v;
} hsv;
hsv rgb2hsv(rgb color);
rgb hsv2rgb(hsv color);
Я тогда следующее main.c
, который работает:
hsv hsvCol = {i/255.0, 1, 1};
rgb col = hsv2rgb(hsvCol);
Я хочу, чтобы иметь возможность просто создать переменную hsvCol
внутри параметры для hsv2rgb
без необходимости создавать переменную и передавать ее в качестве параметра.
Я попробовал каждый из следующих (вместо двух строк выше), к сожалению, ни одна из которых компилировать :(
rgb col = hsv2rgb({i/255.0, 1, 1});
rgb col = hsv2rgb(hsv {i/255.0, 1, 1});
rgb col = hsv2rgb(hsv hsvCol {i/255.0, 1, 1})
rgb col = hsv2rgb(struct hsv {i/255.0, 1, 1});
Мой вопрос:
Могу ли я делать то, что я пытался сделать на всех (но, очевидно, по-другому)?
Если 1, то как я могу идти об этом?
'RGB цв = hsv2rgb ((ВПГ) {Я /255.0, 1, 1}); ' – BLUEPIXY
Aw maaan, это было так просто! Благодаря! –