尽管初始化,但可能无法初始化可变大小的对象

Alo*_*lon 4 c++

int main(){
    int sample_rate = 50;

    int t_max = 60*5 ;

    int dimensions = 3;
    int num_samples = sample_rate * t_max;

    double data[dimensions][num_samples] = { { } }; //Error here
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我知道堆的数组大小必须在编译时知道(3 x 15000).为什么我仍然收到错误?

kan*_*tar 5

只需使用std::vector.

#include <vector>

int main(){
    int sample_rate = 50;

    int t_max = 60*5 ;

    int dimensions = 3;
    int num_samples = sample_rate * t_max;

    std::vector<std::vector<double>> data(dimensions, std::vector<double>(num_samples));
    // access data like this
    data[0][0];
    return 0;
}
Run Code Online (Sandbox Code Playgroud)