Я делаю структуру камеры.В структуре используется vec3
, которая определяется с помощью typedef float vec3[3]
.
Для инициализации vec3
Я делаю vec3 vector = {0.,0.,0.};
Моя Cameras
структура выглядит следующим образом:
typedef struct Cameras {
vec3 eye;
vec3 target
} Camera;
но когда я делаю:
Camera cam;
cam.eye = { .5, 1., 0. };
, он падает, и компилятор говорит мне: expression must be modifiable
.
Я думал, что это ошибка с указателем, но нет, изамена vec3 eye
на vec3 * eye
и cam->eye = {.5,1.,0.}
ничего не меняет.
Я создаю структуру неправильно или это действительно распространенная проблема C, и я просто слепой?
здесьМоя цель - не только инициализировать массив, но также получить доступ к данным и модифицировать / передать их в функцию после создания.