template
然后在类中定义如下:
class CDataList
{
public:
MUTEX m_mutex;
list m_list;
... ...
};
实现中,重定义list的begin()方法:
typename list::iterator begin()
{
try
{
typename list::iterator ite;
//加锁
ite = m_list.begin();
//解锁
return ite;
}
catch (...)
{
//这里想实现返回迭代器指向空的情况。
return (typename list<XJ_LIST_TYPE>::iterator)0;
}
};
在windows编译对应使用该类的程序,报catch中的数据类型转换错误。
但在linux下可以编译成功。
求大神指点一二。
本人钱不多,只有这么多了。谢谢!