当我运行此代码时,我得到一个 bad_alloc 错误,我访问下标运算符是错误的还是什么?对我来说,我去适当的对象是有道理的,它被返回,然后下标运算符应该启动?顺便说一句,我想使用数组而不是向量:)
class A{
public:
A(int size)
{
array = new int[size];
}
int& operator[](const int &i)
{
return array[i]
}
private:
int * array;
};
int main() {
A ** a = new A*[10];
for(int i = 0; i < 10; i++) {
a[i] = new A(10);
for(int l = 0; l < 10; l++) {
cout << a[i][l] << endl;
}
}
}
提前致谢