【发布时间】:2013-07-02 18:33:57
【问题描述】:
当我尝试使用 g++ 编译以下代码时:
int main()
{
int a[3] = {0, 1, 2};
int (* p)[] = &a;
}
编译器给出以下错误:“初始化时无法将‘int ()[3]’转换为‘int ()[]’”。 为什么不能将 int ()[3] 转换为 int ()[]? 如果不可能,那么应该如何初始化 'int (*)[]' 类型的变量?
【问题讨论】:
-
我在 gcc-4 中编译了这段代码。有点奇怪。但这是合法的。试试 int (* p)[] = {&a};