2013-08-06 71 views
0

我有一个函数返回std :: strings的std :: vector。 但是,如果在功能开始时没有遇到某些检查,我就纾解(例如,没有这样的用户)返回std :: vector <std::string>,但有时只有

对于这种情况,我没有什么可返回的正确语义是什么?

+0

这是一个错误条件还是在您的程序的正常运行期间是预期的? –

+1

也许可以通过'vector 'byref,填充它并返回一个'bool'。 – 2013-08-06 18:11:34

+0

(在C中,你将返回一个'char **',并且在错误时它将是'NULL')。 – 2013-08-06 18:12:17

回答

1

如果这在错误情况下,那么你应该抛出一个异常。如果空列表被视为正常操作,则返回空向量。答案将很大程度上取决于您的应用程序。

+0

在我的情况下,它不是一个错误条件。这有助于,谢谢 – 1dayitwillmake

0

在你的情况很简单,因为你有std :: vector可以是空的。如果你想标记结果是无效的,你可以使用boost :: optional。

相关问题