一些我无法控制的代码有许多接受不同类型的重载函数
IE
setValue(int)
setValue(std::string)
setValue(bool)
而且我有一个模板函数,它可以理想地采用这些类型中的任何一种并将其传递给正确的 setValue 函数。
template <class T>
do_something(T value) {
...
setValue(value);
但我得到这个错误
error: call to member function 'SetValue' is ambiguous
我可以做些什么来解决这个问题,而无需像 setValue 的作者那样复制和粘贴每种类型的代码?