Forum Programmation.c++ Tableaux en parametres

Posté par  .
Étiquettes : aucune
0
16
mai
2006
Voila

j'ai deux classes et l'une hérite de l'autre

Cela fait longtemps que je n'ai pas fait de programmation et je retrouve mes bons amis les pointeurs (ceux que je détestais) !!!


class Tableau
{
public:
Tableau ( int t[8] ) : tab=t {}
...
};

class Tri : public Tableau
{
public:
Tri (int t[8]) : Tableau(t) {}
....

main.cpp: Dans constructor « Tableau::Tableau(int*) »:
main.cpp:19: error: erreur de syntaxe before `;' token

voila ce que me sors g++ sur la ligne 19 cad le constructeur de la classe Tableau
Que rajouter? passer par des pointeurs? donner moi votre version de cette partie de code.

merci
  • # point virgule ?

    Posté par  . Évalué à 2.

    C'est peut être à cause de ton tronquage mais je ne vois pas de ";" a la fin de ta ligne.

    Tableau ( int t[8] ) : tab(t) {};

    N'oublie pas le ";" aprés les accolades lorsque tu es dans la déclaration de la classe.
    • [^] # Re: point virgule ?

      Posté par  . Évalué à 2.

      Non, non, il n'y a pas de ';' puisqu'il définit tout de suite son constructeur.
      L'erreur est... ah ben tu l'as corrigée sans faire attention. C'est :
      Tableau ( int t[8] ) : tab(t) {}
      et non pas :
      Tableau ( int t[8] ) : tab=t {}
      • [^] # Re: point virgule ?

        Posté par  . Évalué à 1.

        Oui que je suis bête maintenant j'ai une erreur concernant les pointeurs, references etc;;;

        je suis un peu perdu

        main.cpp: Dans constructor « Tableau::Tableau(int*) »:
        main.cpp:19: error: incompatible types in assignment of `int*' to `int[8]'
  • # Taille du tableau

    Posté par  . Évalué à 2.

    Je vais peut-être dire une bêtise (mes souvenirs de C++ sont lointains), mais il me semble que dans le temps on ne pouvais pas spécifier la taille d'un tableau pour un paramètre de fonction. Il fallait mettre soit int t[], soit int *t.
  • # stl

    Posté par  . Évalué à 1.

    Le plus simple pour ne pas s'embeter avec les tableaux C c'est quand meme d'utiliser les conteneurs de la STL, qui, eux, connaissent leur taille !

Suivre le flux des commentaires

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