我有一個簡單但微妙的問題。下面你會看到DLL頭文件中的同一個類的兩個不同的聲明變體。兩個DLL聲明之間的區別
有人可以告訴我這個類聲明的區別嗎?
class __declspec(dllexport) Car {
public:
Car();
void drive(void);
typedef enum { None, Indented } Formatting;
}
從這個?
class Car {
public:
__declspec(dllexport) Car();
__declspec(dllexport) void drive(void);
__declspec(dllexport) typedef enum { None, Indented } Formatting;
}
在第一個聲明,類本身是得到__declspec(dllexport)的,而在後一種情況下,每個類元件被聲明單獨如此。
他們有什麼不同或者他們有什麼共同點?
我們不得不使用第二種方法一次。原因是,導出的類是從模板類派生的,並且失敗了(VC 2005) – 2009-05-29 15:56:31