c++ - 为什么代码在代码块 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 中工作。感谢所有帮助
解决方案
这种构造
int A[r][k];
称为可变长度数组 (VLA),不是 C++ 的一部分。一些编译器将其作为扩展提供,而其他编译器则不提供。
您应该使用其中一个new
或std::vector
任何其他结构,而不是 VLA。
例如,对于向量,A
变为:
std::vector<std::vector<int>> A(r, vector<int>(k, 0));
其余的保持不变。
推荐阅读
- c# - Unity Number 向导返回按钮
- c# - 将 Unity 画布保存为 PNG 文件
- angular - ngClass 仅在使用 ngFor Angular5 时切换特定元素
- javascript - 当滑块被选中和未选中时
- asp.net-mvc - ASP.NET Core 应用程序在 Visual Studio 部署到 Azure 几个小时后失败
- reactjs - TypeError:Highcharts.mapChart 不是函数
- css - 关键帧动画从最后一个图像跳到第一个图像而不是褪色
- angular - 迭代Angular 5中嵌套表单组中的表单控件
- javascript - 嵌入动态值的javascript函数toString'd?
- android - 无法访问扩展文件内容