Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 数组-运行时错误:类型为';int[*]和#x27;_C++_Arrays - Fatal编程技术网

C++ 数组-运行时错误:类型为';int[*]和#x27;

C++ 数组-运行时错误:类型为';int[*]和#x27;,c++,arrays,C++,Arrays,用户可以输入两个整数n,k:k

用户可以输入两个整数n,k:k 现在必须输入n个任意整数,我想将其存储在数组中

#include <iostream>
using namespace std;

int main(){
    int n, k;
    int scores[n];  
    cin >> n >> k;
    
    for (int i = 0; i < n; i ++){
        cin >> scores[i];
    }   
}

如果总数组“分数”由5个元素组成,分数[3]怎么可能超出范围?

在读取数据之前,
n
未初始化且具有不确定的值

必须在阅读后使用
n

#include <iostream>
using namespace std;

int main(){
    int n, k;  
    cin >> n >> k;
    int scores[n]; // move this
    
    for (int i = 0; i < n; i ++){
        cin >> scores[i];
    }   
}

如果C++编译器不编译上述代码,则应该使用更好的C++编译器。对于这样的简单错误,现代C++编译器不应该产生任何警告消息。<代码> int分数[n];
在标准
c++
中,变量
n
必须是编译时常量。标准不允许使用VLA。谢谢你的提示!如何用std::vector定义一个包含n行和k列int[n][k]的二维数组?我尝试了向量矩阵(行,列),但它不起作用。使用构造函数
向量(num,initial_value)
,它可以写成
向量矩阵(行,向量(列))
#include <iostream>
using namespace std;

int main(){
    int n, k;  
    cin >> n >> k;
    int scores[n]; // move this
    
    for (int i = 0; i < n; i ++){
        cin >> scores[i];
    }   
}
#include <iostream>
#include <vector>
using namespace std;

int main(){
    int n, k;  
    cin >> n >> k;
    vector<int> scores(n);
    
    for (int i = 0; i < n; i ++){
        cin >> scores[i];
    }   
}