non*_*all 5 c++ templates arguments function c++11
为了显示:
struct MyFunc {
template <size_t N>
void doIt() {
cout << N << endl;
}
};
template <typename Func>
struct Pass123ToTemplateFunc {
static void pass(Func f) {
f.doIt<123>(); // <-- Error on compile; is there a way to express this?
}
};
int main() {
Pass123ToTemplateFunc<MyFunc>::pass(MyFunc());
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这纯粹是一种语法好奇心; 是否有一种方法在语言中表达这一点而不将参数传递给doIt函数本身?如果没有,这没什么大不了的,我已经很清楚我可以优雅地解决它,所以不需要提供替代解决方案.(我会接受"不"作为答案,换句话说,如果那是真理.:-P)