Main.cc: In function ‘int main()’: Main.cc:7:15: error: variable-sized object ‘c’ may not be initialized int c[n][n]={};怎么解决
时间: 2024-02-09 21:13:15 浏览: 217
main函数.c
这是因为在 C++ 中,变长数组(VLA)不能被初始化。您可以使用动态分配内存来代替变长数组并避免该错误。
下面是一个使用动态分配内存的示例:
```
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int **c = new int*[n];
for (int i = 0; i < n; i++) {
c[i] = new int[n];
for (int j = 0; j < n; j++) {
c[i][j] = 0; // 可以初始化为0
}
}
// 使用 c 数组
// ...
// 释放内存
for (int i = 0; i < n; i++) {
delete[] c[i];
}
delete[] c;
return 0;
}
```
在这个示例中,我们使用 `new` 运算符动态分配一个 `int**` 类型的数组 `c`,然后遍历数组中的每一个元素并将其初始化为0。使用完数组之后,需要释放动态分配的内存。
希望这个示例对您有所帮助!
阅读全文