А что, в С так нельзя?
Mar. 2nd, 2021 12:46 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Пытаюсь передать в функцию цвет как массив. Функция такая:
И почему-то вот так:
работает, а если явно напишу массив:
Что за чертовщина такая? Хотел оформить базовые тройки цветов дефайнами, а получается, что придется их делать константами что ли?
Даже не знаю, как это правильно гуглить! Мне известно, что приравнивать массивы таким способом нельзя. Но ведь фактически я в качестве аргумента использую константный массив!..
void Pattern_draw3(Img3 *img, Pattern *p, int xul, int yul, uint8_t colr[3]);
И почему-то вот так:
uint8_t c[3] = {255,0,0};
Pattern_draw3(&i3, cross, 1200, 800, c);
работает, а если явно напишу массив:
Pattern_draw3(&i3, cross, I->width/2, I->height/2, {0,255,0});
Pattern_draw3(&i3, cross, -250, -250, {255,255,255});
— не работает!Что за чертовщина такая? Хотел оформить базовые тройки цветов дефайнами, а получается, что придется их делать константами что ли?
Даже не знаю, как это правильно гуглить! Мне известно, что приравнивать массивы таким способом нельзя. Но ведь фактически я в качестве аргумента использую константный массив!..