MSVC-C2668对重载函数的模棱两可的调用-它是编译器错误吗?

伯恩德

MSVC 19.28拒绝以下带有错误消息的代码:C2668对重载函数的模棱两可的调用A::Foo它是编译器错误吗?它可以使用gcc,clang甚至msvc 19.10进行编译。自MSVC 19.14起失败,请参见此处

#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>();
}
慈济

对于该调用Foo<int>(),编译器可以推断出Foo<int>()第一个模板和Foo<int>(void)第二个模板

temp.deduct.partial#11

...如果G具有尾随函数参数包,而F没有对应的参数,并且如果F没有尾随函数参数包,则F比G更专业。

这是一个决胜局,并且选择了第一个模板。

无法解决歧义性似乎是MSVC错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误C2668:'boost :: bind':对重载函数的模棱两可的调用

来自分类Dev

错误:对重载函数的模棱两可的调用

来自分类Dev

这是MSVC ++编译器错误吗?

来自分类Dev

C++ MSVC/GCC/Clang 编译器错误

来自分类Dev

为什么编译器会给出模棱两可的方法调用错误?

来自分类Dev

编译时错误:调用重载方法时模棱两可。为什么?

来自分类Dev

编译时错误:调用重载方法时模棱两可。为什么?

来自分类Dev

gcc中的模棱两可的重载,与msvc一起使用

来自分类Dev

错误:“运算符==”的模棱两可的重载

来自分类Dev

传递继承的类型时,为什么编译器会给出模棱两可的调用错误?

来自分类Dev

使用枚举参数重载模板时出现 MSVC 编译器错误

来自分类Dev

从MSVC14切换到MSVC16导致“编译器的堆空间不足(C1060)”错误

来自分类Dev

C ++编译错误:无法从B转换为A,没有构造函数,或者构造函数重载模棱两可

来自分类Dev

重载采用通用类型的方法会导致模棱两可的方法调用编译错误

来自分类Dev

下标使用模棱两可的编译器错误

来自分类Dev

MSVC编译器可能的错误

来自分类Dev

MSVC中可能的编译器错误

来自分类Dev

MSVC多行宏编译器错误

来自分类Dev

MSVC编译器可能的错误

来自分类Dev

什么是-D编译器标志C ++(clang,GNU,MSVC)

来自分类Dev

什么是-D编译器标志C ++(clang,GNU,MSVC)

来自分类Dev

C ++继承错误:模棱两可的错误

来自分类Dev

C ++ const mysqlpp :: String模棱两可的错误

来自分类Dev

Extensiong模棱两可的错误

来自分类Dev

Extensiong模棱两可的错误

来自分类Dev

那是C ++编译器错误吗?

来自分类Dev

对成员函数set_value的错误调用是模棱两可的(在使用pugixml库的xcode中)

来自分类Dev

这些重载难道不是模棱两可的吗?

来自分类Dev

Java8中的模棱两可的重载-ECJ或Javac对吗?

Related 相关文章

  1. 1

    错误C2668:'boost :: bind':对重载函数的模棱两可的调用

  2. 2

    错误:对重载函数的模棱两可的调用

  3. 3

    这是MSVC ++编译器错误吗?

  4. 4

    C++ MSVC/GCC/Clang 编译器错误

  5. 5

    为什么编译器会给出模棱两可的方法调用错误?

  6. 6

    编译时错误:调用重载方法时模棱两可。为什么?

  7. 7

    编译时错误:调用重载方法时模棱两可。为什么?

  8. 8

    gcc中的模棱两可的重载,与msvc一起使用

  9. 9

    错误:“运算符==”的模棱两可的重载

  10. 10

    传递继承的类型时,为什么编译器会给出模棱两可的调用错误?

  11. 11

    使用枚举参数重载模板时出现 MSVC 编译器错误

  12. 12

    从MSVC14切换到MSVC16导致“编译器的堆空间不足(C1060)”错误

  13. 13

    C ++编译错误:无法从B转换为A,没有构造函数,或者构造函数重载模棱两可

  14. 14

    重载采用通用类型的方法会导致模棱两可的方法调用编译错误

  15. 15

    下标使用模棱两可的编译器错误

  16. 16

    MSVC编译器可能的错误

  17. 17

    MSVC中可能的编译器错误

  18. 18

    MSVC多行宏编译器错误

  19. 19

    MSVC编译器可能的错误

  20. 20

    什么是-D编译器标志C ++(clang,GNU,MSVC)

  21. 21

    什么是-D编译器标志C ++(clang,GNU,MSVC)

  22. 22

    C ++继承错误:模棱两可的错误

  23. 23

    C ++ const mysqlpp :: String模棱两可的错误

  24. 24

    Extensiong模棱两可的错误

  25. 25

    Extensiong模棱两可的错误

  26. 26

    那是C ++编译器错误吗?

  27. 27

    对成员函数set_value的错误调用是模棱两可的(在使用pugixml库的xcode中)

  28. 28

    这些重载难道不是模棱两可的吗?

  29. 29

    Java8中的模棱两可的重载-ECJ或Javac对吗?

热门标签

归档