没有呼叫运营商

Eri*_*ski 1 c++

 struct Boy {
    map<string,int> girlLookUp;
    string Name;
 };

 struct Girl {
    map<string,int> boyLookUp;
    string Name;
 };

 int findSumBoyGirl(Boy a, Girl b)
 {
    Boy *p = &a;
    Girl *s = &b;

    int sum = p->girlLookUp(s->Name) + s->boyLookUp(p->Name); "----Error----"

    return sum;
 }
Run Code Online (Sandbox Code Playgroud)

我试图通过查找每个人的异性名称来检索相关的性别值.当我这样做时,我收到错误"地图不提供呼叫操作员." 我不明白这个警告的背景.是不是可以做我正在尝试的事情?

gtu*_*rri 10

你想用map::operator[].这意味着你应该拥有

p->girlLookUp[s->Name] + s->boyLookUp[p->Name];
Run Code Online (Sandbox Code Playgroud)