类模板中静态结构体成员初始化问题
//初始化类模板中的静态变量出了问题
//函数功能实现不重要,语法过不去比较头疼,还请各位大侠多多指教啊
template<class T>
class MemPoolTemplate
{
public:
// constructor
explicit MemPoolTemplate(size_t memberNumber);
void* alloc(size_t size); // allocate memory for one object
void free(void* p, size_t size); // free memory for one object
// destructor
~MemPoolTemplate();
private:
///////////////////////////////////
#if 1
//struct Node;
//friend struct Node;
struct Node
{
int value;
struct Node* next;
};
static struct Node* headOfMemPool;
static struct Node* currentOfMemPool;
//static struct MemPoolTemplate::Node* headOfMemPool;
#endif // end #if
////////////////////////////////////
static size_t BLOCK_SIZE;
static size_t count;
};
//#if 1
#if 1
template<class T>
size_t MemPoolTemplate<T>::BLOCK_SIZE = 0;
template<class T>
size_t MemPoolTemplate<T>::count = 0;
template<class T>
struct MemPoolTemplate<T>::Node* MemPoolTemplate<T>::headOfMemPool = 0;//过不去
template<class T>
struct MemPoolTemplate<T>::Node* MemPoolTemplate<T>::currentOfMemPool = 0;//过不去
#endif // end #if
//函数功能实现不重要,语法过不去比较头疼,还请各位大侠多多指教啊
template<class T>
class MemPoolTemplate
{
public:
// constructor
explicit MemPoolTemplate(size_t memberNumber);
void* alloc(size_t size); // allocate memory for one object
void free(void* p, size_t size); // free memory for one object
// destructor
~MemPoolTemplate();
private:
///////////////////////////////////
#if 1
//struct Node;
//friend struct Node;
struct Node
{
int value;
struct Node* next;
};
static struct Node* headOfMemPool;
static struct Node* currentOfMemPool;
//static struct MemPoolTemplate::Node* headOfMemPool;
#endif // end #if
////////////////////////////////////
static size_t BLOCK_SIZE;
static size_t count;
};
//#if 1
#if 1
template<class T>
size_t MemPoolTemplate<T>::BLOCK_SIZE = 0;
template<class T>
size_t MemPoolTemplate<T>::count = 0;
template<class T>
struct MemPoolTemplate<T>::Node* MemPoolTemplate<T>::headOfMemPool = 0;//过不去
template<class T>
struct MemPoolTemplate<T>::Node* MemPoolTemplate<T>::currentOfMemPool = 0;//过不去
#endif // end #if
...全文


