Help c++ débutant

Fermé
cendree - 10 sept. 2009 à 12:01
sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 - 10 sept. 2009 à 12:43
Bonjour,
Je suis débutant en c++, j'ai acheté un livre pour apprendre mais il arrive que les exemples donnés pour comprendre le blabla aient des erreurs.
En général, avec un peu d'application, j'arrive à apporter une correction tout seul.
Mais pas ici. Voici l'exemple :


#include <iostream>

class Chat
{
public :
int LireAge ();
void DefAge (int age);
void Miauler ();
private :
int sonAge ();
};

// Lire age, méthode d'accès publique
// renvoie la valeur du membre sonAge
int Chat::LireAge ()
{
return sonAge;
}

// Définition de DefAge,
// fonction d'accès publique
// définit le membre sonAge
void Chat::DefAge (int age)
{
//initialise la variable membre sonAge aec
// la valeur passée par le paramètre age
sonAge = age;
}

// définition de la méthode Miauler
// renoie : void
// paramètres : Aucun
// rôle : afficher "Miaou" à l'écran
void Chat::Miauler ()
{
std::cout << "Miaou.\n";
}

// créer un objet Chat, définirson âge, le faire miauler,
// dire son âge, le faire miauler à nouveau.
int main()
{
Chat Frisky;
Frisky.DefAge (5);
Frisky.Miauler ();
std::cout << "Frisky est un chat qui a " << Frisky.LireAge () << " ans.\n";
Frisky.Miauler ();

return 0;
}

Le compilateur me met ceci :
f:\c++\poo\poo\poo.cpp(17) : error C3867: &'Chat::sonAge' : liste d'arguments manquante dans l'appel de fonction ; utilisez 'Chat::sonAge' pour créer un pointeur vers membre
f:\c++\poo\poo\poo.cpp(17) : error C2440: 'return' : impossible de convertir de 'int (__thiscall Chat::* )(void)' en 'int'
Aucun contexte dans lequel cette conversion est possible
f:\c++\poo\poo\poo.cpp(27) : error C2659: '=' : fonction comme opérande gauche

Les lignes 17 et 27 sont en gras souligné.

Je ne sais pas corriger le problème.

Y aurait-il quelqu'un pour m'éclairer ?

1 réponse

sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 723
10 sept. 2009 à 12:43
Salut,

Tu as défini sonAge en tant que fonction et tu veux l'utiliser en tant que variable.

++
0