【问题标题】:C++ Error variable-size object may not be initialized [duplicate]C ++错误可变大小对象可能未初始化[重复]
【发布时间】:2018-02-16 03:04:07
【问题描述】:

K 是来自 argv[] 的值,长度在 main 中计算

int main(int argc, char const *argv[]) {
 .
 .
 .

 int k_mer = length - k +1;
 int array_of_kmer[k_mer] = {}; 
 }

【问题讨论】:

标签: c++


【解决方案1】:

标准 C++ 没有可变长度数组。虽然有些实现,比如gcc,可能有。

要声明数组,您需要在编译时知道元素的数量:

const int size = 5;
int arr[size];

甚至更好

std::array<int, size> arr;

如果您需要可变长度数组,那么std::vector 是一个不错的选择。

int size = calculate();
std::vector<int> v(size);

【讨论】:

    猜你喜欢
    • 2012-12-20
    • 2021-03-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-21
    • 2017-03-28
    • 1970-01-01
    • 2017-03-06
    • 2011-03-06
    相关资源
    最近更新 更多