2
で決定:これが正しいとしながら、ベクトルが、私はこのような何かをやろうとしているランタイム
int x=128, y=256;
std::vector<std::array<float,x*y>> codes;
明らかにこれは、間違っている:へ
std::vector<std::array<float,128*256>> codes;
一つの解決策第一の問題点は次のようにマクロを使用することができます
#define x 128
#define y 256
...
std::vector<std::array<float,x*y>> codes;
しかし、別の解決策がある場合、私は実行時に思っていたし、コンパイル時ではありません。 通知std::array
を使用する必要はありません。要素の配列(または何でも)がstd::vector
必要です。
私は 'constexpr'をお勧めしますか?そのようにしてランタイム値から 'x'と' y'を取得しようとすると、 'code'をインスタンス化するのではなく、その時点でコンパイラの不平を取得します。 – user975989
Voilà、それは働いた!ありがとう!とにかく、 'x'と' y'は実行時にユーザによって決定されるので、それらを初期化せずに宣言して(ユーザが値128と256を挿入したときに)それを宣言できますか? – justHelloWorld
@ user975989ここでは 'constexpr'がおそらく良いと同意します。確認する新しいコンパイラは手元にありません。 – alexeykuzmin0