我想问一下
class a b{....};这里面a是宏定义,b是类名,这样的句子有什么用啊?
[解决办法]
class a b{....};这里面a是宏定义,b是类名,这样的句子有什么用啊?
===>
以VC为例, 这里一般用在建立动态连接库(dll)时.
在dll内部, a有一种定义;
在其他使用该dll的程序中, a有另一种定义.
以你的ZFunc为例, 假设ZFunc是库zfun.dll提供的类,
则在zfun.h中可能定义PLANNING_API如下:
#if defined(PLANNING_DLL_EXPORTS)
#define PLANNING_API __declspec(dllexport)
#else
#define PLANNING_API __declspec(dllimport)
#endif
在建立zfun.dll时, 定义宏PLANNING_DLL_EXPORTS.
而在使用zfun.dll时, 不定义宏PLANNING_DLL_EXPORTS.
这样同一个头文件zfun.h既可以提供给zfun.dll创建时用,
又可以提供给其他调用zfun.dll的的程序使用.
至于__declspec(dllexport) / __declspec(dllimport), 以及与dll有关
的知识, 自己google以下, 或者查msdn吧.:)