c++ - 可変サイズの配列の初期化

原文 c++ arrays initialization

2つのことについて助けが必要なことを除いて、コードはほとんど完了です。これが私のコードです:Code。以下の関数では、定数「5」の代わりに「n」の入力を使用して配列myBitsを初期化できるようにしています。

私の他の質問はそのすぐ下にあります。私はすべての正しいビットを「真」に切り替えようとしています。 「/ * ..... * /」でforループを記述しましたが、機能していないようです。そのすぐ上で、C(5,4)....(myBit [0] = myBit [1] .... etc ......(これを使用して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++ - Visual StudioでのLinuxプラットフォーム用のC++コードの記述

c++ - 回転した長方形で画像ROIを抽出する

c++ - プロセス所有者を取得する(Citrix /プロビジョニング)

c++ - SonarQube Visual Studio 2013 C++プラグイン

c++ - Intel GalileoおよびC++ REST SDK

c++ - operator [] const参照の2次元ポインタのオーバーロード

c++ - C++でFLを16進数に変換する

c++ - スレッドC++を使用してシェルコマンドを実行する

c++ - ポインターと多次元配列の質問

c++ - Qt:フォーム全体にフォントの変更を適用する