Bonjour,

Dans le cadre d'un projet où j'utilise le C++ j'ai des soucis de déclaration multiple de fonction.

Mon code est oraganisé de la manière suivante:

Main.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
#include<stdio.h>
#include <time.h>
#include <math.h>
#include "bmpusmp.h"
 
int main(int argc, char* argv[])
 
{
      ...
      return 0;
}
secondary_functions.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
 
#include<stdio.h>
#include <time.h>
#include <math.h>
#include "getopt.h"
#include "bmpusmp.h"
#include "secondary_functions.h"
 
 
void free_imatrix(int **m, long nrl, long nrh, long ncl, long nch)
 
{
	...
}
secondary_function.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#ifndef SECONDARY_FUNCTIONS_H
#define SECONDARY_FUNCTIONS_H
 
#define NR_END 1
#define FREE_ARG char*
 
void free_imatrix(int**, long, long, long, long);
 
#endif
bmpusmp.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
#ifndef BMPUSMP_H
#define BMPUSMP_H
 
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
 
... fonctions utilisées dans le main 
 
#endif

Quand je compile mon code j'ai des erreurs du type "multiple declaration de {fonction} (qui sont déclarées et définies dans mon bmpusmp.f et appelées dans mon main). Pourtant je ne devrai pas avoir de problèmes comme j'ai utilisé le #indef /#define/#endif ?

Merci pour votre aide, et faites moi signe si je suis pas assez précis sur ce que je donne de mon code.