【发布时间】:2014-12-06 09:56:52
【问题描述】:
我对这行代码有一些问题:
__local cl_var new_vars[10];
这些都有效:
__local cl_var test;
__local int test[10];
__local cl_var * test
供参考,cl_var 是:
typedef struct cl_var{
int var;
struct cl_var* next;
} cl_var;
尝试编译时出现段错误。我使用的是 JOCL 包,不确定这是否会有所不同。
为什么我不能在本地声明一个结构数组?
(我已尝试更改结构定义以在各个地方包含本地)
【问题讨论】:
-
我认为您不能包含指向自身的指针。因为它还没有定义。此外,它还会产生无限递归问题。
-
@DarkZeros 我最初确实遇到了这个问题,但包括 struct 关键字修复了这个问题,我猜它是一个不同的命名空间。此外,它在任何地方都可以使用,除非将其用作本地数组。
-
@ParkYoung-Bae 这是正确的 - 很奇怪吧?