hallo
habe folgenden code:
wenn ich nun hergehe und folgendes mache:
MyQVariant varA = 1.00;
MyQVariant varB = 2.00;
varB += 3.0 + 1.00; geht zu compilieren
varB += 3.0 + 1.00 - varA; geht nicht zu compilieren
wo steckt der fehler oder was fehlt?
habe folgenden code:
C++:
class MyQVariant: public QVariant
{
public:
MyQVariant() { }
MyQVariant(double val) { this->setValue(val); }
MyQVariant operator += (double rhs)
{
MyQVariant tmp = *this;
double v = this->toDouble();
v += rhs;
tmp.setValue(v);
return tmp;
}
MyQVariant operator -= (double rhs)
{
MyQVariant tmp = *this;
double v = this->toDouble();
v -= rhs;
tmp.setValue(v);
return tmp;
}
MyQVariant operator += (MyQVariant& rhs)
{
MyQVariant tmp = *this;
double v1 = this->toDouble();
double v2 = rhs.toDouble();
v1 += v2;
tmp.setValue(v1);
return tmp;
}
MyQVariant operator = (double rhs)
{
MyQVariant tmp = *this;
tmp.setValue(rhs);
return tmp;
}
};
MyQVariant operator - (MyQVariant& lhs, double rhs)
{
MyQVariant tmp(lhs);
tmp -= rhs;
return tmp;
}
MyQVariant varA = 1.00;
MyQVariant varB = 2.00;
varB += 3.0 + 1.00; geht zu compilieren
varB += 3.0 + 1.00 - varA; geht nicht zu compilieren
wo steckt der fehler oder was fehlt?
Zuletzt bearbeitet von einem Moderator: