因此,經過一段時間的擺弄之後,我無法得到它......爲什麼這還不是標準的一部分?將函數返回給接受void的函數?
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,並且不能夠傳遞一個。
有沒有什麼我可以做,不涉及專門爲每種方法類型的醜陋的「調解員類」調用這個東西?
謝謝。
編輯: 什麼是實現接受任何函數返回值的模板的好方法呢?
你爲什麼要實現一個接受任何函數返回值的函數? – akappa 2012-07-30 12:21:05
問題是'void'不是一個值,它根本就沒有任何價值。如果你看'give_void',它不會返回任何東西。 – 2012-07-30 12:26:04