Forum Programmation.c++ Probleme de declaration constructeur

Posté par  .
Étiquettes :
0
18
mar.
2005
Bonjour tout le monde

J'ai un probleme avec un constructeur en C++

Lors de la compilation j'ai droit aux erreurs suivante ( j'ai une version francaise de g++ )

runled.cc:7: ISO C++ interdit la définition de types à l'intérieur de return
type
runled.cc:7: spécification de type retourné pour un constructeur est invalide

J'uttilise gcc 3.2.3 ( sous Scientific Linux )

Pour ce qui est de mon code voila la partie problematique :

1|using namespace std;
2|
3|#include "runled.hh"
4|
5|
6|// Constructor and Destructor
7|runled::runled(void){
8| set_ars_id();
9| ostrstream filename0,filename1,outfile0,outfile1;
/* Initialisation de fichier et de variable ... */
}

La ligne problematique est la declaration du constructeur
J'arrive pas a comprendre ce que veut le compilateur ...

Comme a mon avis je suis tombe dans l'erreur classique j'attend un coup de main de preference de quelqu'un pouvant m'expliquer mon erreur ...

Merci ...
  • # arguments

    Posté par  . Évalué à 1.

    Sans le .h ca va etre dur, mais a tout hasard, commence par enlever le void dans la liste d'argument de ton constructeur :

    runled::runled(){
    //
    }
    • [^] # Re: arguments

      Posté par  . Évalué à 2.

      Excuse moi j'ai oublier le .h le voila ...


      #include
      #include
      #include
      #include

      /* Autres include moins standard */

      class runled{

      public:

      runled();
      ~runled();
      /* Declaration des autres membres ... */
      }


      Pour ce qui est de faire joujou avec le void j'avais deja essayer et ca suffit pas ...
      • [^] # Re: arguments

        Posté par  (site web personnel) . Évalué à 2.

        T'aurais pas un truc mal écrit à la fin de ton .h ? Je soupconne le compilo de chercher à l'interprêter comme type de retour de ton constructeur, vu que le include se trouve juste au dessus.
        • [^] # Re: arguments

          Posté par  (site web personnel) . Évalué à 5.

          Je ne sais pas si ça peut donner ce type d'erreur mais il manque un point-virgule (;) à la fin de ta classe dans le .h
          mais peut-être est-il présent mais que dans la retranscription ici, il manque et dans ce cas, je ne vois pas le problème.
          • [^] # Re: arguments

            Posté par  . Évalué à 2.

            Et bien voila c'etait le point virgule :)
            Je me disais bien que ca ne pouvais etre qu'un truc aussi con pour me faire autant galerer ...
            Faudras que je m'en rapelle la prochaine fois ...

            Merci ...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.