为什么代码可以在代码块16.01中工作,但我不是最新版本的Clion

问题描述

#include<iostream>
#include<iomanip>

using namespace std;

int main(){
int r,k;

    cout << "Unesite broj redova:";
    cin >> r;
    cout << endl << "Unesite broj kolona:";
    cin >> k;

int A[r][k];

for(int i = 0; i < r; i++){
    for (int j = 0; j < k; j++){
        cout << "A[" << i << "][" << j <<"] = ";
             A[i][j];
    }
cout<< endl;
}

} 在使用代码块6个月后,我对clion还是陌生的。我有一个clion liccenes,我打开了我的代码,我开始用代码块编写代码,但我不想在clion中工作。 感谢所有帮助

解决方法

此构造

int A[r][k];

被称为可变长度数组(VLA),不属于C ++。一些编译器将其作为扩展提供,而其他编译器则不提供。

您应该使用newstd::vector或其他任何构造,而不是VLA。

例如,对于矢量,A变为:

std::vector<std::vector<int>> A(r,vector<int>(k,0));

其余部分保持不变。