begin process at 2010 02 10 12:35:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

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


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

mercredi 15 mars 2006 à 19:56:29 | Erreur conversion from `Sportif*' to non-scalar type `Sportif' requested

lordskyser1

Membre Club

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 <iostream>
#include <string>
#include <iostream>
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

jeudi 16 mars 2006 à 09:58:58 | Re : Erreur conversion from `Sportif*' to non-scalar type `Sportif' requested

zaibacker

Essai ca:
Sportif * sport = new Sportif(18,"John","john",25);

jeudi 16 mars 2006 à 10:36:50 | Re : Erreur conversion from `Sportif*' to non-scalar type `Sportif' requested

lordskyser1

Membre Club
Génial, merci! ca marche effectivement. Par contre j'ai un soucis par la suite, le compilateur me dit que la procédure toString() n'est pas déclarée!!! Pourtant si je fais

Sportif sport;
sport.toString();

Ca fonctionne, donc c'est qu'elle est bien déclarée! Donc j'ai essayé des trucs comme :

Sportif * sport = new Sportif(18,"John","john",25);
* sport.toString();

ou

Sportif * sport = new Sportif(18,"John","john",25);
  &sport.toString();

Mais ca me marque toujours le même message, dans main.cpp :

11 `toString' has not been declared
11 request for member of non-aggregate type before '(' token

Bizarroide

jeudi 16 mars 2006 à 10:57:08 | Re : Erreur conversion from `Sportif*' to non-scalar type `Sportif' requested

lordskyser1

Membre Club
alala le noob que je fais... il fallait marquer

sport->toString();

vu que c'est un pointeur. Je sens que j'ai pas fini de m'amuser avec ces petites bêtes lol
Merci beaucoup en tout cas
jeudi 16 mars 2006 à 10:59:38 | Re : Erreur conversion from `Sportif*' to non-scalar type `Sportif' requested

zaibacker

Oui désolé je l'avais vu mais j'etais sur que t'allais trouvé tout de suite puisque que ca en découle.
Oui faut faire attention aux pointeurs.


Cette discussion est classée dans : int, string, age, prenom, sportif


Répondre à ce message

Sujets en rapport avec ce message

un pti prob ... :s help [ par meksoft002 ] Bonjour, c'est ma première participation en vue que vous pourrez resoudre mon problème ..voila...je vouderais mettre en oeuvre un tableau d'objets "pe inserer un entier dans un tableau de int [ par clcat ] salut la compagnie j ai un ptit probleme(visual C++)j ai un tableau de string :   string TAB[10];et j ai un entier, p=3 par exemple la valeur de p n'e Probleme ASCII et coonversion string vers char (enfin je pense) [ par Leptis ] Salut a tous les pgm qu'il y a sur ce site. Avant tout je tien à vous prévenir que je suis en gros newbie en C.Voila mon problème : je cherche à faire recursivité [ par adil1251985 ] bonjour;  j'ai créé une fonction recursive qui diminue le premier nombre par le deuxieme(=1) jusqu'a obtenir zero .question : pourquoi quand je tape u tableau dans une fonction [ par meksoft002 ] salut, je vouderais mettre la dimension d'un tableau a partir d'une fonction mais..l'éxecution ne se termine pas quand je la lance void creer(Personn convertir int en string [ par wasaikos ] salut a toustout est dans le titre mais je vous mache le travail voici ma fonction:string fonction(int chiffre){    string lettre="P";    string lettr convertir string en int [ par wasaikos ] salut a tous,tout est dans le titre mis e vais être plus précis, ce que j'ai besoin de faire c'est de convertir une variable de type string en une var Fonctions Imbriquées avec argument string [ par Zakata ] Bonjours,J'esaye de programmer deux classes de menu. L'architecture est la suivantes : Une classe Menuclass Menu{public:    Menu(void);    ~Menu(void) exercice en c [ par noel46 ] bonjour voici mon programme qui demande nom, prenom, sexe et date et doit faire ensuite 140186JOBNATsi une fille né le 14 janvier 1984; JOBE Nataliej'


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales