gpt4 book ai didi

c++ - 初始化一个可变大小的数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:51:45 26 4
gpt4 key购买 nike

除了我需要两件事的帮助外,我几乎完成了我的代码。这是我的代码:Code .对于下面的函数,我试图实现它以便我可以使用“n”的输入来初始化我的数组 myBits,而不是一个常量,该常量当前为 5。

我的其他问题就在下面。我正在尝试将所有最右边的位切换为“真”。我在 "/* .....*/"中写了 for 循环,但它似乎不起作用。在它的正上方,我为 C(5,4) 做了很长的路....(myBit[0] = myBit[1]...等......(我用它来找到 r-字符串的组合)......而且它似乎有效。任何帮助将不胜感激!!

void nCombination(const vector<string> &Vect, int n, int r){

bool myBits[5] = { false }; // everything is false now
myBits[1] = myBits[2] = myBits[3] = myBits[4] = true;

/* for(int b = n - r - 1; b = n - 1; b++){
myBits[b] = true; // I am trying to set the r rightmost bits to true
}
*/
do // start combination generator
{
printVector(Vect, myBits, n);
} while (next_permutation(myBits, myBits + n)); // change the bit pattern
}

最佳答案

这些称为可变长度数组(或简称 VLA),它们不是标准 C++ 的特性。这是因为我们已经有了可以随意改变长度的数组:std::vector。使用它而不是数组,它将起作用。

关于c++ - 初始化一个可变大小的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27304694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com