对于下面的代码,如果我没有东西要返回,应该返回什么?目前,我做了类似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