【发布时间】:2018-12-13 12:30:22
【问题描述】:
在c++17 中,我们得到了auto template parameters。我试图在这个问题中使用一个来传递一个对象:Can I Write Relational Operators in Terms of Arithmetic Operations? 但是由AndyG's comment 指导我发现它没有编译:(
给定模板函数:
template <auto T>
void foo()
我可以作为模板参数传递的内容似乎受到限制。例如,从我的链接问题中可以看出,我似乎无法通过函子:
foo<plus<int>{}>()
是否在某处列出了允许和禁止的内容?
【问题讨论】:
-
与没有
auto的限制相同:stackoverflow.com/Questions/5687540/… 关于即将到来的 C++20 中的更改,请参阅顶部答案的 cmets。 -
@AndyG 我的意思是如果没有自动完成我一文不值:J
标签: c++17 c++ templates parameters c++17 auto