我有以下代码:
char *array1[3] =
{
"hello",
"world",
"there."
};
struct locator_t
{
char **t;
int len;
} locator[2] =
{
{
array1,
10
}
};
它可以使用“gcc -Wall -ansi -pedantic”编译。但对于另一个工具链(Rowley),它抱怨
warning: initialization from incompatible pointer type
在 char **t 所在的行上。这确实是非法代码还是可以?
感谢您的所有回答。我现在知道我的问题出在哪里了。然而,它提出了一个新问题:
字符串数组初始化 https://stackoverflow.com/questions/7834643/string-array-initialisation
对我来说似乎完全合法;char *[3]
衰减到char **
,所以分配应该是有效的。
GCC 4.4.5 和 CLang 1.1 都没有抱怨。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)