gpt4 book ai didi

c++ - 为什么这个 map 是不允许的?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:25:23 25 4
gpt4 key购买 nike

我正在尝试用 C++ 实现异构映射。我知道之前已经讨论过这个问题,但我想知道为什么不允许以下内容:

map<int, auto> myMap;

有什么方法可以让我在不借助 (void*) 指针的情况下简单地插入 map ?

我在考虑最终能够做这样的事情:

vector<int> v;
myMap.insert(make_pair<int, int>(1,12334));
myMap.insert(make_pair<int, vector<int>)(2, v));

这可能吗?还是我的努力是徒劳的?

谢谢

最佳答案

auto 并不意味着“这可以是任何类型”。它是一个特殊的关键字,只能用于声明变量,其含义是“这个变量的类型与用来初始化它的表达式的类型相同”。 auto 变量的类型与任何其他已声明变量的类型一样不可更改;唯一的区别是您不必拼出类型的名称。由于 auto 不是类型,只是简化声明的语法糖,因此不能用作模板参数。

关于c++ - 为什么这个 map<int, auto> 是不允许的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5238123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com