小编Cew*_*ein的帖子

在结构中初始化typedef数组

我正在制作一个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 * eyecam->eye = {.5,1.,0.}改变什么.

我是以错误的方式创建结构还是一个非常常见的问题C而我只是盲目的?

在这里,我的目标不仅是初始化数组,还要在创建后访问数据并修改/传入函数.

c arrays struct typedef

1
推荐指数
1
解决办法
138
查看次数

标签 统计

arrays ×1

c ×1

struct ×1

typedef ×1