标签: c++ linked-list
我正在实现一个链表,我想知道如果列表为空,我应该从remove()函数返回什么。我查看了标准链表类,当列表为空时,它的remove方法调用未定义的行为。这不是我想要发生的事情。标准库中是否存在应该抛出的适当异常?
remove()
答案 0 :(得分:2)
你可以抛出std::out_of_range。或者你甚至可以创建它的子类并抛出你自己的异常类。
std::out_of_range
从标准(n3797):
19.2.5.1类out_of_range定义作为异常引发的对象类型,以报告参数值不在其预期范围内。
out_of_range