在以下 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];
我收到错误消息double log(double)' cannot appear in a constant-expression。既然我在前面放了一个整数,为什么会出现这个问题?我应该如何解决这个问题?