我正在制作一个Camera结构.struct使用了一个vec3定义的typedef float vec3[3].
初始化vec3我做vec3 vector = {0.,0.,0.};
我的Cameras结构是这样的:
typedef struct Cameras {
vec3 eye;
vec3 target
} Camera;
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时:
Camera cam;
cam.eye = { .5, 1., 0. };
Run Code Online (Sandbox Code Playgroud)
它崩溃了,编译器告诉我:expression must be modifiable.
我认为这是与指针错误,但没有和替换vec3 eye,以vec3 * eye和cam->eye = {.5,1.,0.}改变什么.
我是以错误的方式创建结构还是一个非常常见的问题C而我只是盲目的?
在这里,我的目标不仅是初始化数组,还要在创建后访问数据并修改/传入函数.