次のC++プログラムでは:
static const int row = (dynamic_cast<int>(log(BHR_LEN*G_PHT_COUNT)/log(2)));
static const int pht_bits = ((32*1024)/(G_PHT_COUNT * G_PHT_COUNT * BHR_LEN));
unsigned char tab[pht_bits][1<<row];
「doublelog(double)」というエラーメッセージが定数式に表示されません。整数キャストを前に置いたのに、なぜこの問題が発生するのですか?これをどのように修正すればよいですか?