Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/11/2008, à 11:17

jeremie064

[Resolu] Heritage multiple C++

Bonjour à tous,

Je ne suis pas très fort en C++, et j'ai un petit problème :

Voici la déclaration de ma classe dans le .h :
class A : public B, public C::E {};

et voici l'erreur de compilation que j'obtiens :
error: expected class-name before '{' token


Je pense que l'erreur vient de public C::E, mais je ne sais pas ce qui ne va pas...
Quelqu'un pourrait-il m'indiquer quelle erreur j'ai faite ?
Merci !

Dernière modification par jeremie064 (Le 12/11/2008, à 14:16)

Hors ligne

#2 Le 12/11/2008, à 11:33

rniamo

Re : [Resolu] Heritage multiple C++

on peut voir c::e ?


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#3 Le 12/11/2008, à 11:37

jeremie064

Re : [Resolu] Heritage multiple C++

Malheureusement non, c'est une classe dont je n'ai pas les accès...

Tu penses que ma syntaxe dans le .h est correcte ?

Hors ligne

#4 Le 12/11/2008, à 12:41

rniamo

Re : [Resolu] Heritage multiple C++

si E est une classe de C oui.


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#5 Le 12/11/2008, à 13:07

tiky

Re : [Resolu] Heritage multiple C++

La seule explication c'est que C::E ne soit pas une classe. Il s'agit d'une bibliothèque? Si oui donne le vrai nom de C::E s'il te plaît.


Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#6 Le 12/11/2008, à 14:15

jeremie064

Re : [Resolu] Heritage multiple C++

C::E est une classe, c'est sûr et certain.

Vu que ma syntaxe est bonne, je vais essayer de me rapprocher de celui qui a fait cette classe.

Je vous remercie !

Hors ligne

#7 Le 12/11/2008, à 15:57

Link31

Re : [Resolu] Heritage multiple C++

jeremie064 a écrit :

Malheureusement non, c'est une classe dont je n'ai pas les accès...

Si tu n'as pas accès à l'interface de la classe, alors tu ne peux pas créer une classe dérivée. D'où le message d'erreur.

Il faut inclure le .h qui définit l'interface de la classe avant de définir ta classe dérivée. Ce n'est pas comme dans d'autres langages où les classes sont importées directement depuis les bibliothèques. Une bibliothèque C++ sans ses fichiers .h est inutilisable.

Hors ligne