Renvoyer un pointeur pour du C.

Renvoyer un pointeur pour du C. - C++ - Programmation

Marsh Posté le 19-07-2006 à 18:02:24    

Voilà mon petit problème,
 
J'ai un outil écrit en c++... j'ai des applis écrites en c ... et je voudrais que les applis en C accèdent à des structures via des pointeurs de structure qui auront été alloués par l'outil en c++ ...
Bon, je n'y connais rien en C++, alors j'ai utilisé extern "C" comme j'ai trouvé sur une faq...
J'ai un petit .h

Code :
  1. extern "C" T_toto* new_toto_structure();


 
mais quand l'appli en C qui inclue ce .h compile il y a l'erreur suivante...
fun.h:1: error: expected constructor, destructor, or type conversion before ‘*’ token
 
Est-ce qu'il est impossible de renvoyer des pointeurs pour l'utiliser dans du C ....??
 

Reply

Marsh Posté le 19-07-2006 à 18:02:24   

Reply

Marsh Posté le 19-07-2006 à 19:56:30    

la syntaxe 'extern "C"' ne fait pas partie du langage C, tu peux te servir de la constante __cplusplus qui n'est definie que par un compilateur C++

Code :
  1. #ifdef __cplusplus
  2. extern "C"
  3. #endif
  4. T_toto* new_toto_structure();

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed