首页 > 解决方案 > 为什么代码在代码块 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 liscenes,我打开了我开始在代码块中编写的代码,我不想在 clion 中工作。感谢所有帮助

标签: c++codeblocksclion

解决方案


这种构造

int A[r][k];

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

您应该使用其中一个newstd::vector任何其他结构,而不是 VLA。

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

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

其余的保持不变。


推荐阅读