Erreur C2146 et C4430 - Mauvaise gestion des headers.
Bonjour a tous.
je suis sous VS 2005 et je code en C++ mais mon probleme tient, je pense, plus de l'architecture du langage C.
voici une partie de la structure de mon code
Truc.h :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #ifndef _TRUC_H_
#define _TRUC_H_
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <stdio.h>
#include <math.h>
#include <time.h>
#include <iostream>
#include <cstring>
#include "Tserial_event.h"
#include "PPTypes.h"
#include "Machin.h"
using namespace std;
using std::string;
using std::cout;
using std::endl;
/// Suite de typedef, de variables static et une classe C_Truc qui contient un tableau d'objets de type C_machin |
Le morceau ou l'erreur se produit est dans la definition de la classe C_truc au moment de la declaration de l'instance de type C_Machin :
Code:
C_Machin oDevices[NB_DEVICES];
<- ligne 159
Machin.h :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| #ifndef _MACHIN_H_
#define _MACHIN_H_
#include <math.h>
#include <iostream>
#include <cstring>
#include <time.h>
#include "Tserial_event.h"
#include "PPTypes.h"
#include "TRUC.h"
/// Definition de la classe C_Machin |
Main.c :
Log d'erreurs :
Error 1 error C2146: syntax error : missing ';' before identifier 'oDevices' c:\source\common\device\include\truc.h 159
Error 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\source\common\device\include\truc.h 159
Error 3 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\source\common\device\include\truc.h 159