Je suis actuellement rafraîchissant mes compétences en C ++ et je me demandais s'il est possible d'attribuer quelque chose à Exemple: P> * ce code>.
Je sais avoir affecté à
ce code> est interdit, mais je ne trouve pas la même information pour mon cas.
class Foo {
int x;
public:
Foo(int x) : x(x) {}
Foo incr() { return Foo(x+1); }
void incr_() {Â (*this) = incr(); }
};
4 Réponses :
Ceci est invalide. Vous ne pouvez pas retourner un objet C'est bien. P > p> void augmenter () {retour foo (x + 1); } code>
foo code> à partir d'une fonction ayant
void code> type de retour. P>
Cela aurait été plus adapté comme un commentaire que comme une réponse, imo.
@Etienne: Lemme complète ma réponse en premier. :) code>
Vous avez totalement raison, mais j'ai simplement commis une erreur là-bas. Je voulais dire la fonction d'être foo aug () code>.
Ok, maintenant que la réponse de la mémoire de la mémoire a suffisamment de bowvotes pour que je sois sûr, merci beaucoup!
Vous pouvez modifier le commentaire NO B> au début maintenant, puisqu'il a changé la question
Oui, cela est autorisé, et cela invoque en fait votre opérateur d'affectation de classe. P>
Oui, vous pouvez, si * Cette code> Valeur de retour est d'un type de données contenant un opérateur d'affectation défini. P>
Oui, ça marche. Et * this = x code> est juste sucre syntaxique pour
opérateur = (x) code>. P>.