指向未知数组的指针?

时间:2013-12-13 16:07:21

标签: c++ c gcc g++

gcc接受以下函数声明,但g ++不接受。

void do_something(char (*)[]);

g ++给出的错误是:

error: parameter '<anonymous>' includes pointer to array of unknown bound 'char []'

我相信在C中,参数被转换为char **,这就是gcc接受它的原因。

我能以某种方式让g ++接受这个功能吗?

参见示例:http://ideone.com/yqvqdB:)

谢谢!

1 个答案:

答案 0 :(得分:0)

GNU GCC编译器使用非标准编译器来编译程序。添加此标志-std=c99-std=iso9899:1999以将程序编译为标准输入,您将收到错误。

在标准中,这将始终被接受为指向数组的指针,因此您必须提供数组的长度,因为它是指针arithmitics所需的。