Bonjour,
j'obtiens une erreur dans le code suivant :
O� Option_Call est une fonction qui renvoie un OPTRES :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 OPTRES* g_OptPty = NULL; ... g_OptPty = &Option_Call(...); delete g_OptPty
Ce code compile, mais plante au delete. Je n'arrive pas � me convaincre du pourquoi le delete n'a pas sa place ici ; c'est donc que je ne comprend pas bien ce qui se passe : pourriez-vous m'�clairer ?
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 OPTRES Option_Call(double& _Under, double& _Strike, double& _RiskFreeRate, double& HistVol, double& Time) { OPTRES l_Res; .... return l_Res; }
Autre chose, je souhaite que mon code soit aussi rapide que possible, et donc r�alise le moins de cr�ation/destructions d'objets et acc�s en �criture (d'o� le passage par r�f�rences). J'ai donc choisi de d�clarer g_OptPty comme un pointeur dans le main pour ne pas allouer un objet inutilement, mais en �change, j'aurais un acc�s m�moire � chaque fois que j'acc�derai � un membre.
De m�me, la fonction Option_Call cr�e un objet OPTRES � l'int�rieur, puis le renvoie. Mais est-ce la meilleure solution ? Ne devrais-je pas passer un argument suppl�mentaire (genre pOut), par r�f�rence, et travailler dessus ?
Bref, dans l'optique adopt�e, quelles sont les techniques utilis�es en pratique ? Que feriez-vous ?
Merci
Cordialement
Partager