[英]what should I return if I don't have something to return for an unknown type
For the following code, what should I return if I don't have something to return ? 对于以下代码,如果我没有要返回的内容,应该返回什么? Currently, I do something like T() but I'm not sure it's correct and proper. 目前,我做的事情就像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);
}
boost::optional<tuple<T1, T2, bool> >
The "good" return paths will be unchanged; “良好”的回归路径将保持不变; the "FIXME" one will become: “FIXME”将成为:
return boost::none;
This can allow your class to be used with types that do not support default construction. 这可以允许您的类与不支持默认构造的类型一起使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.