为什么可变参数函数不能“吃掉” C ++ 11中的列表初始化参数?

深渊7

示例代码是:

#include <unordered_map>

int main() {
    std::unordered_map<int, std::pair<int, int>> map;

    map.emplace(1, {1, 1});

    return 0;
}

哪里emplace()有签名,例如:

template <class... _Args>
pair<iterator, bool> emplace(_Args&&... __args);

gcc说的功能expectes 0参数- 2提供的。clang说,函数需要1个参数- 2提供的。

我什至不明白-这段代码是什么问题?

小狗

问题在于这{1, 1}不是表达式,也没有类型。由于没有类型,因此无法推导到模板参数列表中。它们都不是正确的,因为问题与提供的参数数量无关。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么可变参数函数不能“吃掉” C ++ 11中的列表初始化参数?

来自分类Dev

为什么C ++要求我在初始化列表中重复基类的模板参数?

来自分类Dev

C ++中的初始化程序列表和类初始化。我有无参数构造函数,但仍必须使用初始化列表?

来自分类Dev

当parens初始化时,构造函数初始化列表中的C ++ 11大括号初始化为什么不起作用?

来自分类Dev

如何在C ++ 11中将参数的数组初始化器迁移到可变模板参数

来自分类Dev

如何在C ++ 11的构造函数初始化列表中使用一个公共参数初始化元组的元素?

来自分类Dev

为什么显式声明的构造函数阻止使用C ++ 11初始化列表进行成员初始化?

来自分类Dev

为什么显式声明的构造函数阻止使用C ++ 11初始化列表进行成员初始化?

来自分类Dev

C ++ 11初始化程序列表长度未在隐式构造函数中检查

来自分类Dev

C ++函数参数中的“初始化器值太多”

来自分类Dev

带有参数C ++的对象数组的初始化列表

来自分类Dev

具有复杂参数的初始化列表C ++

来自分类Dev

在C ++中,将参数包用作初始化列表是一种不好的做法吗?

来自分类Dev

在C ++中没有匹配的构造函数来初始化可变参数模板

来自分类Dev

C ++ 11:列表初始化中的()或{}?

来自分类Dev

C#-为什么需要初始化[Out]参数

来自分类Dev

在C ++中初始化派生类参数

来自分类Dev

使用继承在C ++中初始化参数

来自分类Dev

在C ++中初始化派生类参数

来自分类Dev

错误:<variable> 的参数在 C 中初始化

来自分类Dev

C ++在初始化列表中的基类初始化之前调用函数

来自分类Dev

为什么就地成员初始化在C ++ 11中使用副本构造函数?

来自分类Dev

构造函数中的C ++初始化列表

来自分类Dev

静态成员初始化中模板参数名称的C ++ 11 MSVS与GCC可见性

来自分类Dev

函数参数默认值std:vector是否使用Rcpp和C ++ 11初始化?

来自分类Dev

C ++使用其他参数获取构造函数的初始化程序列表

来自分类Dev

C ++使用其他参数获取构造函数的初始化程序列表

来自分类Dev

使用初始化列表时检查传递给构造函数的参数-C ++

来自分类Dev

为什么C ++ 11不允许使用auto进行直接列表初始化

Related 相关文章

  1. 1

    为什么可变参数函数不能“吃掉” C ++ 11中的列表初始化参数?

  2. 2

    为什么C ++要求我在初始化列表中重复基类的模板参数?

  3. 3

    C ++中的初始化程序列表和类初始化。我有无参数构造函数,但仍必须使用初始化列表?

  4. 4

    当parens初始化时,构造函数初始化列表中的C ++ 11大括号初始化为什么不起作用?

  5. 5

    如何在C ++ 11中将参数的数组初始化器迁移到可变模板参数

  6. 6

    如何在C ++ 11的构造函数初始化列表中使用一个公共参数初始化元组的元素?

  7. 7

    为什么显式声明的构造函数阻止使用C ++ 11初始化列表进行成员初始化?

  8. 8

    为什么显式声明的构造函数阻止使用C ++ 11初始化列表进行成员初始化?

  9. 9

    C ++ 11初始化程序列表长度未在隐式构造函数中检查

  10. 10

    C ++函数参数中的“初始化器值太多”

  11. 11

    带有参数C ++的对象数组的初始化列表

  12. 12

    具有复杂参数的初始化列表C ++

  13. 13

    在C ++中,将参数包用作初始化列表是一种不好的做法吗?

  14. 14

    在C ++中没有匹配的构造函数来初始化可变参数模板

  15. 15

    C ++ 11:列表初始化中的()或{}?

  16. 16

    C#-为什么需要初始化[Out]参数

  17. 17

    在C ++中初始化派生类参数

  18. 18

    使用继承在C ++中初始化参数

  19. 19

    在C ++中初始化派生类参数

  20. 20

    错误:<variable> 的参数在 C 中初始化

  21. 21

    C ++在初始化列表中的基类初始化之前调用函数

  22. 22

    为什么就地成员初始化在C ++ 11中使用副本构造函数?

  23. 23

    构造函数中的C ++初始化列表

  24. 24

    静态成员初始化中模板参数名称的C ++ 11 MSVS与GCC可见性

  25. 25

    函数参数默认值std:vector是否使用Rcpp和C ++ 11初始化?

  26. 26

    C ++使用其他参数获取构造函数的初始化程序列表

  27. 27

    C ++使用其他参数获取构造函数的初始化程序列表

  28. 28

    使用初始化列表时检查传递给构造函数的参数-C ++

  29. 29

    为什么C ++ 11不允许使用auto进行直接列表初始化

热门标签

归档