我使用这对于一个特定的功能,包括像这样的变量库:数组指针的数组?
extern const u8 foo[];
extern const u8 bar[];
我不允许以任何方式重命名这些变量。
但是,我喜欢能够通过数组(或其他类似的方法)访问这些变量,因此我不需要将这些变量的新实例持续硬编码到我的主代码中。
我在创建一个数组的第一次尝试如下:
const u8* pl[] = {
&foo,
&bar
};
这给我的错误cannot convert 'const u8 (*)[]' to 'const u8*' in initialization
,并与帮助其他地方以及一些谷歌搜索,我改变了我的数组这样的:
u8 (*pl)[] = {
&foo,
&bar
};
编译后,我现在得到错误scalar object 'pl' requires one element in initializer
。
有没有人有什么想法我做错了?谢谢。
不要考虑数组的地址 - 只要在初始化器中使用数组变量,它们就会衰变成指针。 – 2010-05-04 09:09:09
你想访问_variables_或他们代表的数组吗?这是一个微妙的差异,造成巨大的差异(cfr尼尔巴特沃思的答案) – xtofl 2010-05-04 09:35:09
两者都可能会罚款。那么,如实,我不确定。 – unrelativity 2010-05-04 11:15:03