关于C++报错:“表达式必须含有常值”的解决办法
解决方法:
一维数组:
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
int* arr = new int[a];
}
二维数组:
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int** arr = new int* [a];
for (int i = 0; i < a; i++) {
arr[i] = new int[b];
}
}
多维数组:
方法和二维数组一样。
最后,数组使用完毕后,记得释放内存。多次分配要多次释放。
以二维数组为例:
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int** arr = new int* [a];
for (int i = 0; i < a; i++) {
arr[i] = new int[b];
}
// 释放内存
for (int i = 0; i < a; i++) {
delete [] arr[i];
}
delete[] arr;
arr = NULL;
}
因个人能力有限,目前只知道这个一个方法^_^.