指向未知数组的指针?
gcc接受以下函数声明,但g ++不接受。
void do_something(char (*)[]);
g ++给出的错误是:
error: parameter '' includes pointer to array of unknown bound 'char []'
我相信在C中,参数转换为char **,这就是gcc接受它的原因。
我能以某种方式让g ++接受这个function吗?
参见示例: http : //ideone.com/yqvqdB 🙂
谢谢!
GNU GCC编译器使用非标准编译器来编译程序。 添加此标志-std=c99
或-std=iso9899:1999
将程序编译为标准输入,您将收到错误消息。
在标准中,这将始终被接受为指向数组的指针,因此您必须提供数组的长度,因为它是指针arithmitics所需的。