Erreurs dans mon constructeur ou ma fonction membre - C++ - Programmation
Marsh Posté le 30-05-2008 à 12:48:22
bah il te le dit ... ton membre s'appelle _Tfermeture et pas Tfermeture
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...
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
Marsh Posté le 30-05-2008 à 15:38:19
utilise this->machin de préférence pour éviter tout mélange
Marsh Posté le 30-05-2008 à 15:42:28
this est explicite, ça force la résolution dans la classe.
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;
}