我正在尝试编译以下代码:
bool **copyBools( bool const * const * const input )
{
bool retval[4][4] = new bool[4][4];
for( int i=0; i<4; ++i )
{
for( int j=0; j<4; ++j )
{
retval[i][j] = input[i][j];
}
}
return retval;
}
但是,它不会编译并给出这些错误。第一个错误bool retval
在线,第二个错误return
在线:
error: array must be initialized with a brace-enclosed initializer
error: cannot convert ‘bool (*)[4]’ to ‘bool**’
我的理解是[][]
数组与**
. 这不是真的吗?这段代码有什么问题?为二维数组调用 new 的正确方法是什么?为什么我不能把它作为一个返回**
?