最佳答案
我明白非类型模板参数应该是一个常量整式,有人能解释一下为什么会这样吗?
template <std::string temp>
void foo()
{
// ...
}
error C2993: 'std::string' : illegal type for non-type template parameter 'temp'.
我知道什么是永恒的整式。不允许像 std::string
这样的非常量类型的原因是什么?