Bonjour,

j'obtiens une erreur dans le code suivant :
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
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
8
9
 
OPTRES Option_Call(double& _Under, double& _Strike, double& _RiskFreeRate, double& HistVol, double& Time)
{
	OPTRES	l_Res;
 
	....
 
	return l_Res;
}
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 ?

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