C ++在地图中搜索元组错误:无法将'int'左值绑定到'int &&'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C ++在地图中搜索元组错误:无法将'int'左值绑定到'int &&'相关的知识,希望对你有一定的参考价值。
我总是得到这个错误。
#include <bits/stdc++.h>
using namespace std;
#define mt make_tuple<int,int>
int main(){
map<tuple<int,int>,int> l;
l[mt(5,4)] = 3;
cout << l.count(mt(9,8));
}
1.我应该更改什么来接受我的文件中的值? 2.错误在哪里?
int main(){
map<tuple<int,int>,int> l;
l[mt(5,4)] = 3;
int a,b;
cin >> a >> b;
cout << l.count(mt(a,b));
}
答案
make_tuple
的全部意义在于它为你演绎了元组的类型。如果您明确指定<int, int>
调用它,则可以防止正确进行演绎。
让make_tuple
完成它的工作并且不要仅仅因为你想节省一些击键来定义宏 - 你会后悔的。
int main(){
std::map<std::tuple<int, int>, int> l;
l[std::make_tuple(5,4)] = 3;
int a,b;
cin >> a >> b;
cout << l.count(std::make_tuple(a,b));
}
以上是关于C ++在地图中搜索元组错误:无法将'int'左值绑定到'int &&'的主要内容,如果未能解决你的问题,请参考以下文章
Mongoose TypeError:TypeError:无法使用“in”运算符在未定义中搜索“pluralization”
Jquery - 未捕获的类型错误:无法使用“in”运算符在中搜索“324”
未捕获的类型错误:无法使用“in”运算符在未定义中搜索“scrollLeft”
未捕获的类型错误:无法使用“in”运算符在 JSON 字符串中搜索“”