Problème surement facile de cast (C++)
Lynyrd81
Messages postés
66
Statut
Membre
-
Lynyrd81 Messages postés 66 Statut Membre -
Lynyrd81 Messages postés 66 Statut Membre -
Bonjour à tous,
J'ai un petit souci en C++.
Tres simplement j'ai une classe Darray qui représente un tableau. J'ai redefini pour cela l'operateur (). Le truc que je ne comprend pas c'est que les deux codes suivants ne donne pas le même resultat:
et
(sachant que a est du type Darray).
Le deuxieme ne change pas la valeur de a(1)...
Est-ce que vous savez quel est le problème?
Merci d'avance!
J'ai un petit souci en C++.
Tres simplement j'ai une classe Darray qui représente un tableau. J'ai redefini pour cela l'operateur (). Le truc que je ne comprend pas c'est que les deux codes suivants ne donne pas le même resultat:
a(1) = 0.0;
et
((Darray) a)(1) = 0.0;
(sachant que a est du type Darray).
Le deuxieme ne change pas la valeur de a(1)...
Est-ce que vous savez quel est le problème?
Merci d'avance!
A voir également:
- Problème surement facile de cast (C++)
- Vlc cast to tv - Guide
- Chrome cast - Guide
- Cle cast hdmi - Guide
- Panne Chromecast : Google a enfin la solution pour corriger le bug des vieux modèles - Guide
- Reinitialiser chrome cast - Guide
2 réponses
Ca c'est dans le sujet du TP qu'ils nous disent d'utiliser (). Il est tout simplement défini comme
Sachant que data est un champ
Je ne vois pas trop pourquoi la façon d'implémenter () change quelquechose. Pour moi les deux lignes sont strictement équivalentes...
double & Darray::operator()(int i)
{ return data[i]; }
Sachant que data est un champ
double *data
Je ne vois pas trop pourquoi la façon d'implémenter () change quelquechose. Pour moi les deux lignes sont strictement équivalentes...