【发布时间】:2012-07-30 12:10:05
【问题描述】:
所以,在摆弄了一段时间之后,我无法得到它......为什么这还不是标准的一部分?
template<class T> accept_all(T) {}
void give_void() {}
int give_int() { return 1;}
int main() {
accept_all(give_void());
accept_all(give_int());
}
使用模板类特化可以省去很多麻烦...而且就一般语法而言,能够返回一个 void 而不能传递一个是没有意义的。
有没有什么我可以做的而不涉及为每种方法类型专门设置一个丑陋的“中介类”来调用这个东西?
谢谢。
编辑: 那么,什么是实现接受任何函数返回值的模板的好方法呢?
【问题讨论】:
-
为什么要实现一个接受任何函数返回值的函数?
-
一个问题是
void不是一个值,它根本不是一个值。如果您查看give_void,它没有返回任何内容。
标签: c++