Bonjour à tous!

Tout d'abord, merci pour le droit d'admission à ce forum: il semble merveilleux!

Venons-en maintenant au fait: je tente de créer une application pour un projet personnel. Je suis tombé sur une erreur que je suis incapable de résoudre. Je me suis créé une petite application à part qui reproduit l'erreur mais je ne réussis toujours pas à comprendre ce qui se passe.

Est-ce que l'un d'entre vous aurais l'aimabilité de m'aider svp?

Voici l'erreur obtenue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
1>CClasse.obj : error LNK2005: "int (__cdecl* CClasse::ptFunct)(int,int)" (?ptFunct@CClasse@@3P6AHHH@ZA) déjà défini(e) dans main.obj
Voici le contenu des fichiers de mon application-test:

Fichier main.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
#include <iostream>
#include "CClasse.h"
 
int main()
{
	//Initialise the pointer of function
	//Remarquez que je n'appel aucune fonction de CClasse!
	//CClasse::Init();
 
	int poulet1=1, poulet2=2, poulet3;
	//Call the function via the function pointer
 
	//poulet3 = CClasse::ptFunc(poulet1,poulet2);
	return 0;
}
Fichier Classe.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
#ifndef __CLASSE_H__
#define __CLASSE_H__
 
namespace CClasse{
	//Pointer of function
	int (*ptFunct)(int a, int b);
 
	void Init();
	int AddAndDisplay(int a, int b);
};
 
#endif //__CLASSE_H__
Fichier Classe.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
#include "CClasse.h"
#include <iostream>
 
using namespace std;
 
void CClasse::Init()
{
	ptFunct=AddAndDisplay;
}
 
int CClasse::AddAndDisplay(int a, int b)
{
	int temp;
	temp=a+b;
	cout<<"Additionner et afficher:"<<endl;
	cout<<a<<" + "<<b<<" = "<<temp<<endl;
	return(temp);
}