gpt4 book ai didi

c++ - 在 map 中传递三个参数显示错误

转载 作者:行者123 更新时间:2023-11-28 02:44:47 24 4
gpt4 key购买 nike

我想在 C++ 的 map 中传递三个参数。使用插入功能时显示错误。有什么替代方法吗?我想制作一对 ((integer integer) string)

int main()
{
map < map <int, int>, char[50] > Code;

int TestCases,Queries,a,b;
char Name[50];
scanf("%d",&TestCases);

for (int i = 0; i < TestCases; i++)
{
scanf("%d %d %s",&a,&b,Name);
Code.insert(make_pair(make_pair(a,b),Name[50]));// Error Line
}
}

我收到以下错误:

C2664: 'void std::_Tree<std::_Tmap_traits<_Kty,_Ty,_Pr,_Alloc,false>>::insert(std::initializer_list<const _Kty,_Ty>>)' : cannot convert argument 1 from 'std::pair<std::pair<int,int>,char>' to 'std::pair<const _Kty,_Ty>

最佳答案

从用法来看,您似乎确实希望 key 是一对整数,而不是 int 到 int 的映射,如下所示:

std::map< std::pair<int,int>, char[50] > Code;

此外,如果要在映射中存储字符串,最好使用 C++ 字符串类而不是 C 字符数组。

std::map< std::pair<int,int>, std::string > Code;

关于c++ - 在 map 中传递三个参数显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24787438/

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