假设我们有一个模板类如下:
template< class T >
class CArray
{
public:
private:
}
template< class T >
CArray< T >::CArray() { m_pData = NULL; }
#ifndef ALGORITHM_EXPORTS
#else //EXPORT
#endif
template< class T >
class ALGORITHM_CLASS CArray
{
public:
private:
}
template< class T >
CArray< T >::CArray() {
#ifndef ALGORITHM_EXPORTS
#define ALGORITHM_CLASS __declspec(dllimport)
#define ALGORITHM_TEMPLATE
#else //EXPORT
#define ALGORITHM_CLASS __declspec(dllexport)
#define ALGORITHM_TEMPLATE __declspec(dllexport)
#endif
template< class T >
class ALGORITHM_TEMPLATE CArray
{
public:
private:
}
template< class T >
CArray< T >::CArray() { m_pData = NULL; }
本文探讨了在DLL中导出模板类时遇到的问题及解决方案。详细介绍了如何正确设置宏定义来避免编译和链接错误,确保模板类可以在不同的工程间顺利使用。
4183

被折叠的 条评论
为什么被折叠?



