如何避免并非所有控制路径都在此处返回 Container 的事实:
enum Type {Int, String};
Container containerFactory(Type type)
{
switch(type)
{
case Int:
return Container (std::vector<int>());
case String:
return Container (std::vector<std::string>());
}
}
更新: 我在想我可以在这里抛出一个异常,但我不能对它进行单元测试,因为不可能将无效的类型传递给函数。