Problème de multi-inclusion (erreur lnk2005) [Résolu]

- - Dernière réponse :  michelangelo71 - 31 août 2012 à 21:16
Bonjour,

Je débute en C++ sous VisualStudio 2010 et j'ai un souci de multi-inclusion de variable lorsque j'ai plusieurs fichiers : j'obtiens une erreur lnk2005.

Voici mes codes très simples, vu que je suis en phase d'apprentissage. Mais je ne vois pas ce qui est faux.
Précision : j'ai créé un projet vide, sans préprocesseur (ou autre).

MAIN.CPP
#include "main.h"
#include "moyenne.h"

void main()
{
for (int i= 0 ; i<taille ; i++)
{
tableau[i]=i*i;
cout << "tableau, position " << i << " valeur " << tableau[i] << endl;
}

moyenne = Fonction_moyenne(tableau,taille);
cout << "moyenne = " << moyenne << endl;

system("PAUSE");
}


MAIN.H
#ifndef MAIN_H
#define MAIN_H

#include 
using namespace std;

int const taille(5);
double tableau[taille];

#endif


MOYENNE.CPP
#include "moyenne.h"

double Fonction_moyenne(double aTableau[],int bTailleTableau)
{
for (int j =0 ; j
using namespace std;

double moyenne(0);
double Fonction_moyenne(double tableau[],int tailleTableau);

#endif




Visual me donne lors de la génération :
Erreur 1 error LNK2005: "double moyenne" (?moyenne@@3NA) déjà défini(e) dans main.obj

Si quelqu'un peut me conseiller, je l'en remercie.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13
3
Merci
double moyenne = 0.0;
va dans le CPP;

dans le H, on met:
extern double moyenne;


ciao...
BruNews, MVP VC++

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de BruNews
0
Merci
Merci beaucoup . C'était bien ça les soucis.
Notamment le "extern" que je n'avais pas encore vu.
Commenter la réponse de michelangelo71