【发布时间】:2017-08-21 15:20:08
【问题描述】:
我无法找到一个好的解决方案来处理此模板函数中的错误。
template<typename K, typename V>
const V& DirectHashmap<K, V>::lookup(K key) const
{
int pos = position(key);
return _values.get(pos)->value;
}
我无法返回错误代码,因为我不知道要返回的类型。我不喜欢使用异常,因为我们之前从未在项目中使用过异常,如果这是唯一有异常的方法,那将是不一致的。
如果有人有好的解决方案,请告诉我!非常感谢所有反馈。
【问题讨论】:
-
std::pair<bool, V&>? -
返回
optional<V&>? -
可能是返回bool isFound,并通过引用接受第二个参数V&,并用找到的对象更新它?
标签: c++ templates error-handling return return-value