作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在声明一个字符串映射到一对对,如下所示:
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/
我是一名优秀的程序员,十分优秀!