从VC6到VC7.1后,遇到的C2146编译问题,谁能解决?

Jans 2007-11-23 04:21:27
代码如下:
class CObjectPool
{
public:
class CObjectPoolItem
{
public:
CObjectPoolItem()
{
m_lObjectID = -1;
m_strType = _T("");
m_pObject = NULL;
}
long m_lObjectID;
CString m_strType;
T* m_pObject;
};
public:
typename std::list<CObjectPoolItem> ObjectPoolItemList;
typename ObjectPoolItemList::iterator ObjectPoolItemListIter;
CObjectPool(){}
virtual ~CObjectPool();
T* GetObjectInPool(long lObjectID){}
T* GetObjectInPool(const CString& strType){}
void AddObject(const CString& strType,T* pDevice,long lObjectID){}
ObjectPoolItemList m_ObjectPool;
};
...全文
28 点赞 收藏 3
写回复
3 条回复
Jans 2007年11月23日
自己解决了,想骂一声,什么烂玩意儿,如果这就是C++标准,我想说:“去他妈的C++标准!”
他太妈的啰嗦了。

template<typename T>
class CObjectPool
{
public:
class CObjectPoolItem
{
public:
CObjectPoolItem()
{
m_lObjectID = -1;
m_strType = _T("");
m_pObject = NULL;
}
long m_lObjectID;
char* m_strType;
typename T* m_pObject;
};
public:
typename std::list <CObjectPoolItem> ObjectPoolItemList;
typename std::list<typename CObjectPool<T>::ObjectPoolItemList> ObjectPoolItemListIter;
CObjectPool(){}
virtual ~CObjectPool();
T* GetObjectInPool(long lObjectID){}
T* GetObjectInPool(const char*& strType){}
void AddObject(const char*& strType,T* pDevice,long lObjectID){}
typename CObjectPool<T>::ObjectPoolItemList m_ObjectPool;
};
回复 点赞
Jans 2007年11月23日
template<typename T>
顶上加上
回复 点赞
sms88 2007年11月23日
不知道T是什么
回复 点赞
发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告