Partage
  • Partager sur Facebook
  • Partager sur Twitter

utiliser typedef dans un header?

Sujet résolu
15 août 2018 à 19:47:56

Hello la communauté

Je n'arrive pas à faire un truc bête, créer mes prototype dans un .h avec un typedef en paramètre.

J'ai mon fichier jeu.cpp :

#include <iostream>
#include <array>
#include <string>
#include "jeu.h"


/***** using *****/
using std::array; using std::cout; using std::cin; using std::endl;

/***** enum *****/
enum Couleur{vide, rouge, jaune};

/***** typedef *****/
typedef array<array<Couleur, 7>, 6> Grille;




/***** Boucle du jeu *****/
void jeu() {
}
void initialise_Grille(Grille& grille){
}
void affiche_Grille(const Grille& grille){ 
}

et mon jeu.h qui utilise le typedef

#ifndef JEU_H
#define JEU_H

void jeu()
void initialise_Grille(Grille& grille);
void affiche_Grille(const Grille& grille);

Mais forcément il ne connait pas "Grille", vu que je ne veux pas inclure le jeu.cpp et que le compilateur n'aime pas les typedef et les enum dans le .h je fais comment? :)

Merci pour vos lumières!

Bonne soirée.


-
Edité par Irtis 15 août 2018 à 19:49:17

  • Partager sur Facebook
  • Partager sur Twitter
15 août 2018 à 20:14:05

Pourquoi les . h n'aimeraient pas ça ? Mets les dedans

  • Partager sur Facebook
  • Partager sur Twitter
15 août 2018 à 20:37:29

euuu oui, ok. Bon je ne sais pas pourquoi ça ne marchait pas la première fois.. :)

merci.

  • Partager sur Facebook
  • Partager sur Twitter
15 août 2018 à 20:58:52

HS : 

- c'est illisible de declarer plusieurs using sur une seule ligne

- enum classs Color { ...

- evites le melange de francais et anglais

- prefere using que typedef

using MyType = int;

- prefere un array a 1 dimension plutot que 2d (linearisation)

- pourquoi tu ne fais pas une classe ?

  • Partager sur Facebook
  • Partager sur Twitter
24 août 2018 à 17:11:25

ha ha, Merci. Je viens de voir ta réponse que maintenant.

Je n'ai que du français sur cet exo. Pour l'instant je ne m'embête pas trop avec les nommage en anglais, je le fais déjà assez au boulot :)

Pourquoi il est préférable d'utiliser using plutôt que typedef? J'avais déjà vu le using utilisé comme cela est je me demandais pourquoi.

Pour le array c'est l'exercice qui proposait de faire un puissance 4 avec un array de array pour faire une grille. C'est quoi l'avantage d'avoir 1 tableau à 1 dimension (qui est moins visuel(pour moi :) ))

Car l'exo était avant les leçons sur la POO!

-
Edité par Irtis 24 août 2018 à 17:12:03

  • Partager sur Facebook
  • Partager sur Twitter