C ++错误可变大小的对象可能无法初始化

时间:2018-02-16 03:04:07

标签: c++

K是argv []的值,长度在main

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

甚至更好

std::array<int, size> arr;

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

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