Qt无法弄清楚如何处理操作数错误

时间:2016-05-30 08:14:45

标签: qt syntax-error

所以我知道这是非常基本的问题,但我无法弄清楚该怎么做。 这是我的代码:

 IpResolver::ResolvedInfo IpResolver::resolveIp(const QString &ip)
{
      ResolvedInfo rI;

if (_IpResolver.find(rI.ip) != _IpResolver.end())
    return _IpResolver[ip];

_IpResolver[ip] = QString();
actualResolve(ip);

return rI.country;
}

有两个错误说: 1.没有运算符“=”匹配这些操作数,操作数类型是“IpResolver :: ResolvedInfo”和QString 2.没有合适的用户定义的从“QString”到“IpResolver :: ResolvedInfo”的转换

1 个答案:

答案 0 :(得分:1)

你知道地图是什么吗?它存储项目,使用密钥访问它们。语法是:

map[key] = item;

写作时

_IpResolver[ip] = QString();

就像写作

map[key] = key;

没有多大意义,因为地图当前存储了一些IpResolver::ResolvedInfo,正如你定义的那样,并且编译器会回忆你。