Erreurs dans mon constructeur ou ma fonction membre

Erreurs dans mon constructeur ou ma fonction membre - C++ - Programmation

Marsh Posté le 30-05-2008 à 12:45:35    

Bonjour,
Dans le cadre de mon projet je dois faire un programme qui genere un fichier texte contenant les valeurs point par point d'une equation en fonction du temps pouvez vous me dire ce qui ne vas pas dans mon code.
Il dois y avoir quelque chose qui m'echape concernant les constructeurs...
(error C2065: 't' : identificateur non déclaré,error C2065: 'Tfermeture' : identificateur non déclaré...)
autre erreur dans le programme principale cette fois concernant la ligne:Equations_CO eq;
: error C2512: 'Equations_CO' : aucun constructeur par défaut approprié disponible.
Equations_CO.h:
 
#pragma once
#include <math.h>
 
class Equations_CO
{
private:
 int _f,_moduleI,_T,_phi,_alpha;
 float _t,_Tarc,_Tfermeture,_Touverture,_Tessai,_cltime,mincltime;
 
public:
 Equations_CO(int,int,int,int,int,float,float,float,float,float);
 ~Equations_CO(void);
 double I1(void);
/*  
 float I2(int,int,int,int,int,float,float,float,float);
 float I3(int,int,int,int,int,int,int,int,int,int,float,float);
 float V1(int,int,int,int,int,int,int,int,int,int,float,float);
 float V2(int,int,int,int,int,int,int,int,int,int,float,float);
 float V3(int,int,int,int,int,int,int,int,int,int,float,float);
*/
}
 
Equations_CO.cpp:
 
#include "StdAfx.h"
#include "Equations_CO.h"
 
 
Equations_CO::Equations_CO(int f=50, int moduleI=1, int T=23, int phi=82.12, int alpha=0, float Tarc=5.82,float Tfermeture=20.00, float Touverture=100.00, float Tessai=120.00, float t=0)
{
_f=f;
_moduleI=moduleI;
_T=T;
_phi=phi;
_alpha=alpha;
_t=t;
_Tarc=Tarc;
_Tfermeture=Tfermeture;
_Touverture=Touverture;
_Tessai=Tessai;
}
 
Equations_CO::~Equations_CO(void)
{
}
 
 
double Equations_CO::I1(void)
{
if (t<Tfermeture || t>Touverture+Tarc)  
 return 0;//pb: coupure possible avant le 0
 else
 if (t>Tfermeture && t<Touverture+Tarc)
 return mod*sin(2*3.14*f*t/1000+0+(alpha-phi)*3.14/180)-moduleI*sin(0+(alpha-phi)*3.14/180)*exp(-t/T);
 //tableau qui contiendra les valeurs de I1,I2,I3,U1,U2,U3 en fonction du temps
}
 
main.cpp:
 
#include <stdafx.h>
#include <iostream>
#include <string>
#include <fstream>
#include "Equations_CO.h"
 
using namespace std;
 
int main(int argc, char *argv[])
{
 
Equations_CO eq;
ofstream fichier("D:\\documents and Settings\\My Documents\\fichiers texte\\test.txt", ios::out | ios::trunc);  //déclaration du flux et ouverture du fichier
       
 if (fichier)
        {
    fichier << "I1 en fonction du temps " << endl;
            fichier << "temps" << " " <<  "I1"<<endl;    
                for (float tps=0.00;tps<eq._Tessai;tps+=0.01)
    {
     float i1=eq.I1(tps,5.82,20.00,100.00,130.00);
     fichier << tps << " " << i1 <<endl;
    }
           fichier.close();
        }
        else
                cerr << "Impossible d'ouvrir le fichier !" << endl;
 
        return 0;
}

Reply

Marsh Posté le 30-05-2008 à 12:45:35   

Reply

Marsh Posté le 30-05-2008 à 12:48:22    

bah il te le dit ... ton membre s'appelle _Tfermeture et pas Tfermeture

Reply

Marsh Posté le 30-05-2008 à 12:52:08    

oui mais il ne reconnait pas Tfermeture dans la fonction membre alors que c'est un des parametres de cette fonction...

Reply

Marsh Posté le 30-05-2008 à 12:52:54    

je voulais dire dans le constructeur

Reply

Marsh Posté le 30-05-2008 à 13:23:04    

inblack a écrit :

oui mais il ne reconnait pas Tfermeture dans la fonction membre alors que c'est un des parametres de cette fonction...

 

oups, c'est dans Equations_CO::I1(void) qu'il y a des pb de nom

 

et effectivement tu n'a pas de constructeur pas défaut, et tu instancies un Equations_CO dans ton main() avec un constructeur par défaut

 

wa les variables :/


Message édité par in_your_phion le 30-05-2008 à 13:27:32
Reply

Marsh Posté le 30-05-2008 à 14:12:46    

(void) ça sert à rien.

Reply

Marsh Posté le 30-05-2008 à 15:36:54    

Merci pour toute vos réponses mon problème est résolu.

Reply

Marsh Posté le 30-05-2008 à 15:38:19    

utilise this->machin de préférence pour éviter tout mélange

Reply

Marsh Posté le 30-05-2008 à 15:39:08    

c'est quoi la difference?

Reply

Marsh Posté le 30-05-2008 à 15:42:28    

this est explicite, ça force la résolution dans la classe.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed