c – 为什么不允许这张地图?

c – 为什么不允许这张地图?,第1张

概述我试图在C中实现异构映射.我知道之前已经讨论过,但我想知道为什么不允许以下内容: map<int, auto> myMap; 无论如何,我可以简单地插入地图而不必诉诸(void *)指针? 我在想最终能够做到这样的事情: vector<int> v;myMap.insert(make_pair<int, int>(1,12334));myMap.insert(make_pair<int, ve 我试图在C中实现异构映射.我知道之前已经讨论过,但我想知道为什么不允许以下内容:

map<int,auto> myMap;

无论如何,我可以简单地插入地图而不必诉诸(voID *)指针?

我在想最终能够做到这样的事情:

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

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

谢谢

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

以上是内存溢出为你收集整理的c – 为什么不允许这张地图?全部内容,希望文章能够帮你解决c – 为什么不允许这张地图?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1224409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存