No matching constructor for initialization of "MainWindow"
Bonjour tout le monde,
je suis entrain de découvrir Qt, mais je fais face à un problème. En effet je souhaite avoir accès au constructeur de la classe Convertion dans la classe MainWindow. Jusqu'à la pas de problème me diriez-vous. Or le problème est que dans le main.cpp on m'affiche l'erreur suivante : No matching constructor for initialization of "MainWindow". Ou ai-je fait mon erreur ?
Cdt
MainWindow.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "ui_mainwindow.h"
#include "aide.h"
#include "convertion.h"
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow,public Convertion
{
Q_OBJECT
public:
MainWindow(QString,double,QWidget *parent = nullptr);
~MainWindow();
double Temperature_Col(double&,double&);
double Vitesse_Fluide(double&);
double Pression_Col(double&);
double Debit_Massique(double&);
double Pression_Exterieur(double,double,float);
double Vitesse_Ejection_Gaz();
double Poussee_Z();
double Pression_Sortie();
QString Tuyere_Adaptee(); |
Mainwindow.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| #include "ui_mainwindow.h"
#include "aide.h"
#include "bloc_calcul.h"
#define INTENSITE_PESENTEUR 9.807
#define CSTE_UNI_GAZ 8.314462618
#define Masse_Molaire_Air 0.029
using namespace std;
MainWindow::MainWindow(QString Valeur_a,double Valeur_b,QWidget *parent) :Convertion(Valeur_a,Valeur_b),QMainWindow(parent),ui(new Ui::MainWindow){
ui->setupUi(this);
this->setWindowTitle("Nozzle perf");
QPixmap pix(":/images/images/background.png");
ui->label_Background_Mainwindow->setPixmap(pix);} |
Convertion.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| #ifndef CONVERTION_H
#define CONVERTION_H
#include <QMainWindow>
#include "mainwindow.h"
class Convertion
{
public:
Convertion(QString, double);
double Convertion_Temperature();
double Convertion_Poussee();
double Convertion_Pression();
private :
float retour_Valeur;
double b;
QString a;
}; |
Convertion.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| #include "convertion.h"
Convertion::Convertion(QString Valeur_a,double Valeur_b) : a(Valeur_a),b(Valeur_b)
{
}
double Convertion::Convertion_Temperature(){
if(a == "°C"){retour_Valeur = b+273.15 ;}
else if(a == "F"){retour_Valeur = (((b-32)/1.8)+273.15);}
else{retour_Valeur = b;}
return retour_Valeur;
}
double Convertion::Convertion_Poussee(){
if(a == "kN"){ retour_Valeur = b/1000;}
else{ retour_Valeur = b;}
return retour_Valeur;
}
double Convertion::Convertion_Pression(){
if(a == "bar"){ return retour_Valeur = b * 100000;}
else if (a == "atm"){return retour_Valeur = b*101325 ;
}
else if(a == "PSI"){return retour_Valeur = b*6894,75729317831;}
else{ return retour_Valeur = b;}
} |