Que puis-je faire lorsque j'ai besoin d'un travail différent, en fonction du type rval et lval? La définition de plusieurs surcharges apparaît avec l'erreur 'opérateur = est ambigu'.Opérateur surchargé surchargé =?
Toutes les idées, ou conseils (liens vers des tutoriels), sont très appréciés, car je viens d'apprendre aujourd'hui sur la surcharge de l'opérateur.
Merci d'avance!
EDIT:
Oui, j'utiliser C++ 0x depuis que je l'ai disponible, juste que je ne vois pas comment serait-il impact sur le code?
Ce sont deux cas dans lesquels je l'utilise atm, si je l'obtiens bien lval est différent, donc ils sont reconnaissables. Le but est la conversion au type approprié.
int wrapint::operator=(int)
{
return m_iCurrentNumber;
}
void wrapint::operator=(const int& rhs)
{
m_iCurrentNumber = rhs;
}
peut vous envoyer le code avec lequel vous obtenez une erreur? – Naveen
avec ou sans C++ 0x? – kennytm
Pouvez-vous poster un petit exemple de code. C'est ambigu lorsqu'il n'y a pas de correspondance exacte pour le rval et plus d'une conversion est possible. Le lval doit être un match exact. –