こんにちは

質問があります。

関数内のローカル変数として、
void func(void)
{
int num[5];
}
とあるのですが、

これを、
int ind=10;
void func(void)
{
int num[ind];
}
としたらコンパイルエラーになりました。

配列の要素数を変数で動的に変えることはC言語(C++でもかまいません)の規則上不可能なのでしょうか?

よろしくお願いします。