我总是遇到这个错误。
#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));
}
答案 0 :(得分:3)
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));
}