首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么不允许这个地图<int,auto>?

这个问答内容涉及到C++编程语言中的模板和数据类型的问题。在C++中,模板是一种泛型编程的工具,可以用于创建通用的数据结构和算法。而数据类型是变量或表达式的属性,用于确定其存储空间和操作方式。

在C++中,可以使用模板来创建具有不同数据类型的容器类,例如vector、map等。在这个问答中,提到了一个地图(map)容器,其键类型为int,值类型为auto。auto是C++11引入的关键字,用于自动推断变量的类型。

然而,不允许使用<int, auto>作为地图容器的类型。这是因为在C++中,模板的类型参数必须是明确的,不能使用auto来代替。auto关键字只能在变量声明时使用,用于让编译器自动推断变量的类型。

如果想要创建一个键类型为int,值类型为自动推断的地图容器,可以使用以下方式:

代码语言:cpp
复制
std::map<int, decltype(value)> myMap;

其中,value是一个已知的变量,编译器可以根据其类型推断出值类型。

总结起来,不允许使用<int, auto>作为地图容器的类型是因为C++模板要求类型参数必须是明确的,而auto关键字只能在变量声明时使用。

相关搜索:为什么rvalue int向量的元素的decltype(auto)的类型推导是int&?为什么我的代码不执行这个语句: int(n)?在C++中,如果"int a= 3;int* p= &a;",那么为什么不允许"const int* &pp = p“,而允许"const int* const &pp = p”呢?为什么我会得到这个错误?错误:'int‘和'int(int,int)’类型的操作数对于二进制'operator/‘无效为什么‘`copy of()’不允许这个XSL是流的("burst-mode")?为什么这个for循环的无符号int是无穷无尽的?Java:从char减去'0'得到一个int ...为什么这个工作?为什么在这个架构中' map‘函数不能推断地图数据类型?为什么卸载这个工具会将玩家重新定位到地图的中心?为什么Visual Studio中的编译器不允许将参数int N[a][b],int M[b][a]传递给函数?为什么这个字段分隔符regex不允许我提取所需的值?为什么这个好友函数不允许使用brace-init-list,而静态函数允许呢?C++为char分配一个int - 为什么这个没有至少一个警告?为什么这个switch case返回一个双精度值,即使它是一个int?既然已经在代码顶部声明了number=int(input()),为什么还要在这个while循环中编写它呢?为什么我在检查器的脚本顶部设置一个int变量的值为0,这个值是1呢?为什么这个KeY动态逻辑问题会被证明是正确的,将java int值增加2147483647到1应该是-2147483648?找不到参数为'(1,)‘的'viewpost’的反向。已尝试1个模式:['int:post\\.id$']。为什么我会得到这个错误?当我在第一个循环中使用'auto‘时,它工作得很好,但是使用'int’时,它给出了一个错误,为什么?在这个链表中,为什么不允许我再次运行并创建另一个节点,我的代码中的错误是什么?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券