我的问题是
void function (const char **params)
{
const char *para;
para = ¶ms[0]; //1
para = params; //2
para = *¶ms; //3
}
所有3个选项都将由Netbeans gdb编译,但gcc表示类似于不兼容指针类型的赋值。
为什么这种不同。。。。得到了gcc 4.6.1,我可以在gcc中做些什么来指向带有*para 的**params的值
在这三种情况下,右侧的类型都是const char **
,如果没有强制转换,则无法将其分配给const char *
。
如果您将所有编译器的警告级别提高到足够高,那么它们都应该对此发出警告。
不清楚你想做什么;如果你想指向第一个子数组的开头,那么这将起作用:
para = params[0];