2010-05-31 5 views
0

J'ai cette ligne dans mon programme pro * C. La fonction initAverage (int i) est définie dans un langage C et j'essaye d'appeler cette fonction dans un fichier .pcc (Pro C++).Appel d'une fonction C dans un fichier pro * C

Je reçois une erreur

Error: initAverage(int i);was declared before with a different language 

extern "C" 
{ 
int initAverage(int i); 
} 

Répondre

2

Vous avez probablement un include avant que déjà initAverage sans déclare extern "C". Regardez toutes les déclarations de initAverage et corrigez la déclaration manquante extern alors ça devrait aller. Ajouter calling convention explicitement est une bonne idée en général. J'ajouterais cela aussi (tout en n'étant pas réellement une partie de la question)

+0

Veuillez regarder l'instruction d'erreur initAverage (int i); a été déclarée avant avec une langue différente. Il dit que la fonction est déclarée mais dans une autre langue –

+0

si 'extern 'C" 'est manquant ce n'est plus C mais la langue par défaut (C++/Pro C++?) Alors ajoutez' extern' C "' partout dans la définition et déclaration. – jdehaan