pb compilation operator ++ [Résolu] - C++ - Programmation
Marsh Posté le 07-09-2009 à 15:14:00
amadeh a écrit : Bonjour,
|
tu as défini uniquement l'opérateur d'incrémentation préfixé ( ++a ) et non pas celui postfixé ( a++ )
pour définir le post fixé, il faut que ta fonction soit comme suit :
Code :
|
Edit : rajout du type de retour standard pour cet opérateur. Attention, trop changer la sémantique d'un opérateur n'est pas forcément une bonne chose.
Marsh Posté le 07-09-2009 à 23:37:28
theshockwave a écrit : |
C'est pas du tout le type de retour standard. Et avec ce type d'implémentation, on a tout sauf un comportement standard.
Marsh Posté le 08-09-2009 à 00:36:18
ReplyMarsh Posté le 08-09-2009 à 09:55:30
Taz a écrit : Canoniquement:
|
ouais, enfin, partant de ce qu'il voulait faire, c'était difficile de reconverger vers ca.
Marsh Posté le 08-09-2009 à 13:55:25
theshockwave a écrit : |
Pas du tout, c'est d'ailleurs pour ça que c'est une forme canonique: elle est indépendante de la sémantique de ++() mais conserve la sémantique correcte de ++(int).
Marsh Posté le 07-09-2009 à 14:27:14
Bonjour,
J'ai écrit une classe dans laquelle j'ai redéfini l'opérateur ++ comme suit :
Cette méthode est censé mettre tous les bits de mon tableau à 1. La compilation sous forme de module se passe bien et j'obtiens mon fichier .o
Voilà le soucis : je fais fichier qui contient mon main() et j'écrit :
A la compilation, voilà l'erreur qu'il me met :
error : no operator++(int) declared for postfix ++ trying prefix operator instead
A bientôt,
Amadeh.
Message édité par amadeh le 09-09-2009 à 16:26:28