直接上例子:
template <bool>
struct StaticCheck { StaticCheck(...);};
template <>
struct StaticCheck<false> {};
bool f =false;
StaticCheck<f>();
报错: Error 1 error C2971: 'StaticCheck' : template parameter 'unnamed-parameter' : 'f' : a local variable cannot be used as a non-type argument y:/projects/c++/ht/ht.cpp 55 HT
可见一个变量无法做模板参数.
将f将为 const bool, 问题解决
本文探讨了C++中模板参数的使用限制,特别是关于为何不能直接使用局部变量作为模板参数,并提供了一个具体的示例来说明这一限制及解决方案。
3635

被折叠的 条评论
为什么被折叠?



