Mam dwa kodowanym zdefiniowany jako tak (w color.h
):Czy można przekazać zmienną struktury jako argument funkcji bez wcześniejszego zdefiniowania?
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);
Mam następnie następujące w main.c
który działa:
hsv hsvCol = {i/255.0, 1, 1};
rgb col = hsv2rgb(hsvCol);
chcę móc po prostu stworzyć zmienną hsvCol
wewnątrz parametry dla hsv2rgb
bez konieczności tworzenia zmiennej i przekazywania jej jako parametru.
Wcześniej próbowałem każdego następnego (w miejsce dwóch liniach powyżej), niestety, z których żaden kompilacji :(
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});
Moje pytanie brzmi:
mogę robić to, co starałem się robić w ogóle (ale oczywiście w inny sposób)?
, jeżeli 1, jak mam się za to zabrać?
'rgb col = hsv2rgb ((HSV) {i /255.0, 1, 1}); ' – BLUEPIXY
Aw maaan, to było takie proste! Dzięki! –