Lor*_*ins 3 c++ templates c++17
template <int I>
struct Number
{
/* appropriate constructor here */
};
Run Code Online (Sandbox Code Playgroud)
通过"利用"我的意思是,有没有办法(隐式或明确地)I推导出的价值?使用示例如下:
Number a(3); // a's type is Number<3>
Run Code Online (Sandbox Code Playgroud)
类模板的模板参数推导可以推导出非类型模板参数,但不是您尝试执行它的方式.
例如
template <std::size_t size>
struct ArrayWrapper {
ArrayWrapper(std::array<int, size> a);
};
int main() {
std:array<int, 5> a;
ArrayWrapper aw(a); // ok; declares ArrayWrapper<5>
}
Run Code Online (Sandbox Code Playgroud)
但在您的示例中,您尝试从参数的值推导出非类型模板参数.通常,C++的模板推导系统不支持该类,无论是用于类模板还是用于任何其他上下文.
| 归档时间: |
|
| 查看次数: |
291 次 |
| 最近记录: |