【发布时间】:2017-06-16 14:16:57
【问题描述】:
当我向前声明类并且我有一个类似的定义时:
#define API __declspec(dllexport)
我应该用它还是不用它来声明函数?我知道当我完全声明类时我需要这样做(比如,使用 body 和东西),但我想知道是否也应该在前向声明中使用它。
【问题讨论】:
-
定义
API之类的东西的全部意义在于,您可以根据上下文在__declspec(dllexport)和__declspec(dllimport)之间更改它。并且不可能将__declspec(dllimport)放在定义 上,因为根据定义,导入符号的定义不应该对编译器可见。所以这应该总是在声明中进行。 -
好的,谢谢,很有用。我确实有两个定义,但我只展示了一个来说明我的观点。
-
@CodyGray 类定义就是定义,将
dllimport放在那里确实有意义。
标签: c++ class forward-declaration