-1
void foo (int k)
{
int C[size(k)][size(k)];
C[1][2] = 4;
std::cout << C[1][2];
}
?定数でない変数に基づいて配列を宣言しますか?このコードが正しくコンパイルされてどのように
void foo (int k)
{
int C[size(k)][size(k)];
C[1][2] = 4;
std::cout << C[1][2];
}
?定数でない変数に基づいて配列を宣言しますか?このコードが正しくコンパイルされてどのように
あなたのコードは、Gでコンパイル++それは拡張機能として可変長配列をサポートしているからです。 6.19 Arrays of Variable Length
これは標準のC++の機能ではないため、他のコンパイラでは必ずしも機能しません。
あなたがg ++、この種のものに文句を言うそれを-pedantic
を与えたい場合。
ありがとうございます、明確な答えです。 –
あなたは、生の配列として標準C++でこれを行うことはできません。代わりに 'std :: vector>'を使用してください。 –
しかし、g ++で正しくコンパイルされています。 –
GCCにはVLA(可変長配列)をサポートする拡張機能があります。 –