我对 C++ 不是很好,并且想知道为什么数组内部的数组会发生错误,但是对于普通数组却可以正常工作(以及如何修复它)。
继承人的代码(只是试图在构造它的类中存储一个数组):
class foo {
int* stored;
public:
foo(int* ptr) {
stored = ptr;
}
};
int main() {
int arr[][2] = {{1,4},{5,7},{2,5}};
foo obj(arr);
}
当数组像int arr[] = {1,2,3}
它一样工作时没有错误,但正常代码给了我这个错误:
error: no matching function for call to 'foo::foo(int [3][2])'
我搜索了一段时间,但我真的不知道首先要搜索什么,这就是我在这里问的原因(但我觉得它与指针有关)。谢谢你的帮助。