gpt4 book ai didi

c++ - 如何在另一个 std::pair 中插入一对 std::pair?

转载 作者:可可西里 更新时间:2023-11-01 17:08:33 26 4
gpt4 key购买 nike

我正在声明一个字符串映射到一对对,如下所示:

std::map<std::wstring, 
std::pair<std::pair<long, long>,
std::pair<long, long>>> reference;

我将其初始化为:

reference.insert(L"First", 
std::pair<std::pair<long, long>,
std::pair<long, long>>(std::pair<long, long>(-1, -1),
std::pair<long, long>(0, 0)));

但是,Visual C++ 给我错误“C2664,没有构造函数可以采用源类型,或者构造函数重载解析不明确”。

我是使用模板和 STL 的新手,我不知道我做错了什么。

最佳答案

>>> 无法正确解析(除非你有 C++0x 编译器)。

更改为>> >

这个:

reference.insert("First",

应该是:

reference.insert(L"First",
^^^

还有一个效用函数可以使对的构造更容易:

std::pair<std::pair<long, long>, std::pair<long, long>>(std::pair<long, long>(-1, -1), std::pair<long, long>(0, 0))

可以是:

std::make_pair(std::make_pair(-1L,-1L),std::make_pair(0L,0L))

试试这个:

reference[L"First"]
= std::make_pair(std::make_pair(-1L,-1L),std::make_pair(0L,0L));

关于c++ - 如何在另一个 std::pair 中插入一对 std::pair?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3813923/

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