我正在尝试使用 typedef struct myStruct
{
int x;
int y;
}MyStruct;
MyStruct instace;
instace.x = 0;
instace.y = 1;
map<unsigned int, myStruct> myMap;
myMap[0] = instace;
if(myMap.count(instace) == 1)
{
//do something
}
在字典中查找值,这是一个自定义结构。以下代码将无法编译
no instance of overloaded function "std::map<_Kty, _Ty, _Pr, _Alloc>::count
[with _Kty=unsigned int, _Ty=myStruct, _Pr=std::less<unsigned int>,
_Alloc=std::allocator<std::pair<const unsigned int, myStruct>>]" matches the
argument list
这是我得到的错误
struct comparer
{
bool operator()(MyStruct const& Left, MyStruct const& Right) const {
return (Left.x == Right.x && Left.y == Right.y);
}
};
map<unsigned int, myStruct, comparer> myMap;
我认为编译器不知道如何比较我的结构。地图声明中的第三个参数采用比较函数,我尝试创建一个比较函数并将其传递给声明中的第三个参数,如下所示
myMap.count()
但是当我执行 <!-- named route -->
<nuxt-link :to="{ name: 'user', params: { userId: 123 }}">User</nuxt-link>
<!-- with query, resulting in `/register?plan=private` -->
<nuxt-link :to="{ path: 'register', query: { plan: 'private' }}">Register</nuxt-link>
时,我会收到类似错误。
我用各种可能的方式搜索谷歌我可以描述问题,但我找不到答案。有人能告诉我如何解决这个问题吗? 谢谢!
答案 0 :(得分:2)
查看std::map::count,count获取密钥并返回与该密钥关联的元素数。这意味着您的代码应该是:
Microsoft.ReportViewer.WebForms