关于typedef的问题
一个DLL中有一个函数:
其中RECOFACERECOG_API在头文件中这样定义:
现在我想动态调用这个DLL,调用Face_Init这个函数,为什么我这样先定义个别名不行?
编译时出现的错误是:
error C2378: 'Face_Init' : redefinition; symbol cannot be overloaded with a typedef
f:\exp\cvsc++\testface\recocommon.h(111) : see declaration of 'Face_Init'
求路过的大神帮忙看看,感激不尽!
RECOFACERECOG_API int Face_Init(const char* path, RecoModuleHandle* module_handle);其中RECOFACERECOG_API在头文件中这样定义:
#ifdef __linux
#define RECOFACERECOG_API
#else
#ifdef RECOFACERECOG_EXPORTS
#define RECOFACERECOG_API __declspec(dllexport)
#else
#define RECOFACERECOG_API __declspec(dllimport)
#endif
现在我想动态调用这个DLL,调用Face_Init这个函数,为什么我这样先定义个别名不行?
typedef int (__stdcall Face_Init)(const char* path, RecoModuleHandle* module_handle);编译时出现的错误是:
error C2378: 'Face_Init' : redefinition; symbol cannot be overloaded with a typedef
f:\exp\cvsc++\testface\recocommon.h(111) : see declaration of 'Face_Init'
求路过的大神帮忙看看,感激不尽!
...全文
相关推荐
C语言之typedef的问题.doc
C 语言之 typedef 的问题在 C 语言中,typedef 是一个非常重要的关键字,它可以为一种数据类型定义一个新名字。今天,我们将详细地探讨 typedef 的一些用法和错误解析。
C语言typedef与复杂函数声明问题的深入解析
为了创建类型别名,我们可以这样定义:```ctypedef int *pRet;typedef pRet (*pFun)(int, char*);pFun a[5];```在这里,`pFun` 是一个新类型
struct和typedef struct区别
最后,我们探讨了一个和struct相关的问题,如果在C程序中我们写:```ctypedef struct { int num; int age;} aaa, bbb, ccc;```这实际上相当于:``
typedef和#define的用法与区别
* typedef的“非直观性”问题* #define的潜在错误及其它代码维护问题六、结论typedef和#define都是C/C++语言中的重要组成部分,它们都可以用来定义标识符的别名或常量。
typedef struct 用法详解和用法小结
typedef关键字不仅可以用于基本数据类型,还可以用于数组、指针以及更复杂的数据结构,比如结构体(struct)。本文将深入探讨typedef在C语言中的使用方法以及它的常见问题和解决方案。


进程/线程/DLL
