Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1900 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Débutant: vector non reconnu

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Débutant: vector non reconnu

n°1095870
morgan541
Posté le 25-05-2005 à 08:53:48  profilanswer
 

Bonjour,
 
Lors de mon debugage dans visual c++, je m'apperçois
que la déclaration:

Code :
  1. matrice_taux[((i-1)*dc)]=r0;


 ne marche pas.
avec matrice_taux:vector<double> matrice_taux(dc*dl);
Ma fenetre watch me siganle :
Error overloaded operator not found
 
Je ne comprends car dans <vector> l'operateur  crochet est bien défini.
Quelqu'un aurait il une idée.
 
Merci d'avance.
 
Morgan

mood
Publicité
Posté le 25-05-2005 à 08:53:48  profilanswer
 

n°1095983
Taz
bisounours-codeur
Posté le 25-05-2005 à 09:47:50  profilanswer
 

using std::vector;

n°1095990
morgan541
Posté le 25-05-2005 à 09:53:27  profilanswer
 

En fait j'ai inclus déjà mon #include <vector> et mon using namespace std
 

n°1096049
Tarabiscot​e
Posté le 25-05-2005 à 10:20:19  profilanswer
 

Déjà c'est une affectation et non une déclaration.
dc et i sont bien des entiers ?
r0 est bien un double ?

n°1096050
Taz
bisounours-codeur
Posté le 25-05-2005 à 10:20:55  profilanswer
 

montre :
- ton code
- ton message d'erreur :o

n°1096071
morgan541
Posté le 25-05-2005 à 10:31:23  profilanswer
 


 
alors code  
 

Code :
  1. for (int i=1;i<dl;i++)
  2. {
  3.  matrice_taux[((i-1)*dc)]=r0;
  4.  //dc nb de périodes
  5.  for (int j=1;j<=dc;j++)
  6.  {
  7.   t_depart=static_cast<double>(j-1)/static_cast<double>(dc);
  8.   t_fin=static_cast<double>(j)/static_cast<double>(dc);
  9.   //term 1
  10.   term1=DerministTerm1(a,t_depart,t_fin);
  11.  //term2
  12.   term2=DerministTerm2(a,b,t_depart,t_fin);
  13.  //variance  
  14.   VV=sqrt(VarianceVasicek(a,vol,t_depart,t_fin));
  15.   indexation_vecteur=((i-1)*dc)+j;
  16.   //simu normale
  17.   thisGaussian=GetOneGaussianByBoxMuller();
  18.   //rt=
  19.   matrice_taux[indexation_vecteur]=matrice_taux[indexation_vecteur-1]*term1+term2+VV*thisGaussian;


 
 
   

n°1096095
Taz
bisounours-codeur
Posté le 25-05-2005 à 10:42:23  profilanswer
 

c'est quoi déjà le smiley pour dire 'j'efface le drapeau' ?

n°1096101
morgan541
Posté le 25-05-2005 à 10:45:21  profilanswer
 

et vector<double> matrice_taux(dc*dl);

n°1096148
Tarabiscot​e
Posté le 25-05-2005 à 11:01:42  profilanswer
 

Tu n’as toujours pas dit comment était déclaré r0.

n°1096169
morgan541
Posté le 25-05-2005 à 11:08:43  profilanswer
 

r0 est un double

mood
Publicité
Posté le 25-05-2005 à 11:08:43  profilanswer
 

n°1096177
Tarabiscot​e
Posté le 25-05-2005 à 11:11:16  profilanswer
 

Et pourquoi tu ne nous mettais pas un code que l'on pourrait compiler pour voir où est l'erreur ?

n°1096184
morgan541
Posté le 25-05-2005 à 11:13:07  profilanswer
 

pas d'erreur de compilation mais lors de l'éxécution pas a pas il ne me reconnait pas la surcharge de l'opérateur []
cf plus haut

n°1096219
Tarabiscot​e
Posté le 25-05-2005 à 11:19:54  profilanswer
 

Bon tu n'aimes pas le mot erreur, alors pourquoi tu ne nous mettais pas un code que l'on pourrait compiler pour voir où est le problème ? ;)
 
EDIT : En fait je crois avoir compris, c'est juste un bug du debbuger de visual qui ne retrouve pas la fonction, c'est ça ? (sans doute du au fait que ce soit un template)


Message édité par Tarabiscote le 25-05-2005 à 11:23:57
n°1096235
morgan541
Posté le 25-05-2005 à 11:23:37  profilanswer
 

Code :
  1. #include <cmath>
  2. #include <cstdlib>
  3. #include <vector>
  4. //standard librairie
  5. using namespace std;
  6. //*****calibration des parametres******
  7. extern const double a;
  8. extern const double b;
  9. extern const double r0;
  10. extern const double vol;
  11. //*********matrice_taux=matrice ZC******************
  12. vector<double> simulation_taux(const int maturity,const int FloatingFrequency,const long NbOfPaths)
  13. {
  14. //term 1
  15. double term1;
  16. //term2
  17. double term2;
  18. //term variance
  19. double VV;
  20. double t_depart;
  21. double t_fin;
  22.  
  23. double thisGaussian;
  24. long dl=NbOfPaths;
  25. int dc=maturity*FloatingFrequency;
  26. double temp;
  27.  
  28.  
  29. vector<double> matrice_taux(dc*dl);
  30.  
  31. int indexation_vecteur=0;
  32.  
  33. for (int i=1;i<dl;i++)
  34. {
  35.  
  36.  matrice_taux[((i-1)*dc)]=r0;
  37.  
  38.  //dc nb de périodes
  39.  for (int j=1;j<=dc;j++)
  40.  {
  41.   t_depart=static_cast<double>(j-1)/static_cast<double>(dc);
  42.   t_fin=static_cast<double>(j)/static_cast<double>(dc);
  43.   //term 1
  44.   term1=DerministTerm1(a,t_depart,t_fin);
  45.   //term2
  46.   term2=DerministTerm2(a,b,t_depart,t_fin);
  47.   //écarttype  
  48.   VV=sqrt(VarianceVasicek(a,vol,t_depart,t_fin));
  49.   indexation_vecteur=((i-1)*dc)+j;
  50.   //simu normale
  51.   thisGaussian=GetOneGaussianByBoxMuller();
  52.   //rt=
  53.   matrice_taux[indexation_vecteur]=matrice_taux[indexation_vecteur-1]*term1+term2+VV*thisGaussian;
  54.   //B(t,T)=
  55.   matrice_taux[indexation_vecteur]=A(a,b,vol,t_fin,maturity)*exp(-matrice_taux[indexation_vecteur]*G(a,vol,t_fin,maturity));
  56.    
  57.  };
  58.  
  59. };
  60. return matrice_taux;
  61. };

n°1096251
Tarabiscot​e
Posté le 25-05-2005 à 11:28:00  profilanswer
 

CF : EDIT au dessus.
 
Si c'est bien ça, c'est vraiment gênant ?

n°1096259
morgan541
Posté le 25-05-2005 à 11:28:49  profilanswer
 

je crois que tu as raison  
car en fait j'ai un résultat à la fin mais au cours de l'éxécution il ne reconnait pas


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Débutant: vector non reconnu

 

Sujets relatifs
question de débutant (having)[JAVA]Afficher un vector dans un Jtable
débutant synthaxeLes frames [Débutant]
[Debutant] MSSQL => Lancement script TransacSQL, cyclique chaque jour[Débutant]Requetes imbriquées
A propos des pointeurs.[Débutant][Débutant] Requête Sql
[Debutant] Construire une requeteSTL - map pair vector - documentation ?
Plus de sujets relatifs à : Débutant: vector non reconnu


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR