我正在调整一些GDAL代码,并且正在使用这样的typedef
typedef CPLErr (*MYWriter)( double dfLevel, int nPoints, double *padfX, double *padfY, void * );
在这样的课程中使用
class GDALGenerator
{
...blah...
public:
MYWriter pfnWriter;
GDALGenerator( int nWidth, int nHeight, MYWriter pfnWriter, void *pWriterCBData );
...blah...
};
但是在同一个文件中,当我像这样创建函数时,在 GDALGenerator 类下面
CPLErr MYWriter( double dfLevel, int nPoints, double *padfX, double *padfY, void *pInfo )
{}
我收到这个错误
错误 2 错误 C2365:'MYWriter':重新定义;以前的定义是 'typedef' f:\projects\map\somecpp\somecpp.cpp 1330 MyProjectName
我很困惑,因为一个标准的 GDAL 函数就是这样使用的,而且它工作正常(在这种情况下,该类位于一个单独的 DLL 中)。我只是用不同的名称复制了该函数,但它不起作用。