【发布时间】:2011-05-02 12:49:10
【问题描述】:
考虑以下函数原型:
void Remove(SomeContainer& Vec, const std::size_t Index);
SomeContainer Remove(SomeContainer Vec, const std::size_t Index);
第二个是按照第一个来实现的。也就是说,除了一个是按引用传递,另一个是按值传递外,它们在各个方面的功能都是相同的。
然而,GCC 表示在这种情况下这些是模棱两可的,即使第一种形式是唯一不返回值的形式:
Remove(SomeContainer, 123);
是否有任何解决方法,或者我必须为每个表单提供不同的名称?
【问题讨论】:
-
返回类型 AFAIK 无法解析重载函数。
标签: c++ overloading ambiguity