即使数组大小是可编译时可计算的值,我也不知道为什么函数中的数组创建通过了,但类中的数组却没有通过。
res.sendFile(`${__dirname}/${buildPath}/index.html` // Note the backticks
答案 0 :(得分:5)
由于getPow
不是constexpr
,因此不能在需要常量表达式(如C数组大小)的地方使用。
int test[getPow<2>()]; // passes
。您不幸的是使用VLA扩展。它不应该通过。
您可以使用以下方法解决问题:
template <unsigned N>
constexpr unsigned getPow()
{
return 1 << N;
}