對於下面的代碼,如果我沒有東西要返回,應該返回什麼?目前,我做了類似T()的事情,但我不確定這是否正確。如果我沒有東西可以返回未知類型,我應該返回什麼
template<typename T1, typename T2>
tuple<T1, T2, bool> CBR<T1, T2>::getSomething(T1 t)
{
// here I I don't have something of time T2 or T2 to return
if(...)
return make_tuple(T1(), T2(), false); // @FIXME
if(...)
return make_tuple(something.tp, something.ts, false);
else
return make_tuple(something.tp, something.ts, true);
}
這是[設計問題](http://stackoverflow.com/a/1755380/140719)。如果它不能返回什麼,_supposed_返回的函數是什麼? – sbi 2012-01-27 13:24:36
你知道'boost :: optional'嗎? – fredoverflow 2012-01-27 13:27:40
順便說一句,最後4行應該是'return make_tuple(something.tp,something.ts,!(...));' – MSalters 2012-01-27 13:57:36