【发布时间】:2020-08-09 12:09:28
【问题描述】:
MSVC 19.28 拒绝以下代码并显示错误消息:C2668 ambiguous call to overloaded function A::Foo。
它是编译器错误吗?它可以与 gcc、clang 甚至 msvc 19.10 一起编译。
自 MSVC 19.14 起失败,请参阅 here
#include <iostream>
class A {
public:
template<typename T>
void Foo(int = {}) {
std::cout << "Hello World";
}
template<typename... T, typename... Args>
void Foo(Args&&... args) {
}
};
int main()
{
A a;
a.Foo<int>();
}
【问题讨论】:
标签: c++ visual-studio visual-c++ cl