Erreur conversion from `Sportif*' to non-scalar type `Sportif' requested

lordskyser1 Messages postés 84 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 1 juillet 2006 - 15 mars 2006 à 19:56
zaibacker Messages postés 97 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 24 janvier 2018 - 16 mars 2006 à 10:59
Bonjour,

je débute en C++ et je tente de compiler ma première classe sans y arriver, car je n'arrive pas à comprendre le message d'erreur de dev c++.

header.h

#include <cstdlib>
#include
#include <string>
#include
using namespace std;

Sportif.h

#include "header.h"


/****************************************************************
Interface de la classe sportif
******************************************************************/


class Sportif {

private:

int age;
string nom;
string prenom;
int formePhysique;

public:

Sportif();
Sportif(int age, string nom, string prenom, int formePhysique);
Sportif(const Sportif & sport);
~Sportif();
int getAge();
string getNom();
string getPrenom();
int getFormePhysique();
void setAge(int age);
void setNom(string nom);
void setPrenom(string prenom);
void setFormePhysique(int forme);
void toString(void);
};


/****************************************************************
Implémentation de la classe sportif
******************************************************************/


// Constructeur par défaut


Sportif::Sportif (void) {
this->age = 0;
this->nom = "";
this->prenom = "";
this->formePhysique = 100;
}


// Constructeur


Sportif::Sportif (int age, string nom, string prenom, int formePhysique) {
this->age = age;
this->nom = nom;
this->prenom = prenom;
this->formePhysique = formePhysique;
}


// Constructeur de recopie


Sportif::Sportif (const Sportif & sport) {
this->age = sport.age;
this->nom = sport.nom;
this->prenom = sport.prenom;
this->formePhysique = sport.formePhysique;
}


// Destructeur


Sportif::~Sportif(void){
}


// Accesseurs


int Sportif::getAge(){
return this->age;
}


string Sportif::getNom(){
return this->nom;
}


string Sportif::getPrenom(){
return this->prenom;
}


int Sportif::getFormePhysique(){
return this->formePhysique;
}


// Mutateurs


void Sportif::setAge(int age){
this->age = age;
}


void Sportif::setNom(string nom){
this->nom = nom;
}


void Sportif::setPrenom(string prenom){
this->prenom = prenom;
}


void Sportif::setFormePhysique(int forme){
this->formePhysique = forme;
}

// Méthode


void Sportif::toString(){
cout << "Nom : " << nom << " prenom : " << prenom << " age : " << age << " forme physique : " << formePhysique;
}

main.cpp

#include "header.h"
#include "Sportif.h"


int main(int argc, char *argv[])
{
Sportif sport = new Sportif(18,"John","john",25);
sport.toString();
system("PAUSE");
return EXIT_SUCCESS;
}

Voilà, il n'y a pas grand chose, mais apparemment j'ai déjà commis une erreur ! Voici ce que me dit le compilateur :

In function `int main(int, char**)':
main.cpp conversion from `Sportif*' to non-scalar type `Sportif' requested
Makefile.win [Build Error] [main.o] Error 1

Si vous pouviez m'aider assez rapidement se serait vraiment gentil de votre part, car je dois résoudre ce problème pour après demain au plus tard. Merci beaucoup pour vos réponses,

Bonne soirée, et bonne prog

4 réponses

zaibacker Messages postés 97 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 24 janvier 2018
16 mars 2006 à 09:58
Essai ca:
Sportif * sport = new Sportif(18,"John","john",25);
0
Rejoignez-nous