Salut !

Je debute dans le C++ en m' embrouillant avec les includes: j' ai un fichier main.h contenant toutes mes includes de base:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
#ifndef MAIN_H
#define MAIN_H
 
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include "SCREEN.h"
 
using namespace std;
 
#endif
Mon fichier SCREEN.h est une simple declaration de base:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
#ifndef SCREEN_H
#define SCREEN_H
 
#include "main.h"
 
class SCREEN
{
public:
    void tes(void);
};
#endif //SCREEN_H
Et mon fichier SCREEN.cpp contient les toutes simples declaration de cette classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
#include "SCREEN.h"
 
void SCREEN::tes(void)
{
    cout << "tes" << endl;
}
Mon fichier main.cpp contient simplement l' include de main.h et la fonction main:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
#include "main.h"
 
int main()
{
    SCREEN test;
    return 0;
}
Voila tout. J' essaye de compiler le tout avec Borland C++ Builder X (avec GCC comme compilateur) et j' obtiens comme erreur que tes est defini plusieurs fois:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
"SCREEN.cpp" : src/SCREEN.cpp définitions multiples de « SCREEN::tes()    » en ligne 4
Pourtant, si je compile exactement le même code en ligne de commande avec G++, je n' obtiens aucune erreur !

Merci