zu tun Ich weiß, es ist ziemlich Grundproblem, aber ich kann nicht herausfinden, was zu tun ist. Hier ist mein Code:Qt Kann nicht herausfinden, was mit Operanden Fehler
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;
}
Und es gibt zwei Fehler zu sagen: 1. kein Operator „=“ Spiele diese Operanden Operandentypen sind „IpResolver :: ResolvedInfo“ und QString 2. keine geeignete benutzer- Definierte Konvertierung von "QString" zu "IpResolver :: ResolvedInfo" existiert
können Sie den Typ von '_IpResolver' angeben oder seine Deklaration anzeigen – Zaiborg
Ihr Code macht nicht viel Sinn. Der Aufruf 'find' verwendet' rI', das standardmäßig aufgebaut ist und nicht 'ip' verwendet. Bitte überdenken Sie die ganze Methode. – Mat
_IpResolver ist eine private Map, die in IpResolver.h deklariert wurde: std :: map _IpResolver; –
filcitheking