Bonjour, je suis en train de me faire une librairie. Mon problème vient maintenant que j'ai une fonction template et j'obtiens l'erreur C2894 sous Visual Studio 2005
pour exporter une fonction non template, je fais ceci :error C2894: templates cannot be declared to have 'C' linkage
et dans mon fichier .cpp j'ai le code source de la fonction str_trim()
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
20
21 #ifndef EXTERN_C #ifdef __cplusplus #define EXTERN_C extern "C" #else #define EXTERN_C extern #endif #endif #ifdef WIN32 #ifdef MaLib_EXPORTS #define MaLib_API __declspec(dllexport) #else #define MaLib_API __declspec(dllimport) #endif #else #define MaLib_API #endif EXTERN_C MaLib_API void __stdcall str_trim(std::string & str);
Maintenant pour une fonction template, où dois-je mettre le mot-clé EXTERN_C (qui vaut ici extern "C") ?
Merci d'avance
Partager