日期:2014-05-18 浏览次数:21011 次
template <class theCL,class CL>
class CMyList
{
public:
//创建一个list容器的实例LISTINT
typedef list<theCL> myList;
// typedef list<int (*callback)(int,char*)> myList;
CMyList(void);
~CMyList(void);
int LinkCount;
myList useList;
myList BakList;
//销毁
void DestroyList();
//重置为空表
void ClearList();
//加在头节点
BOOL AddFirst(theCL e);
//加在头节点
BOOL AddBakFirst(theCL e);
//加在尾节点
BOOL AddLast(theCL e);
//取得头
theCL GetFirst();
//取得尾部
theCL GetLast();
//移除头
BOOL RemoveFirst();
//移除尾部
BOOL RemoveLast();
//第i个位置之前插入
BOOL InsertAt(int i,theCL e);
//删除第I个
BOOL ListDelete(int i);
//元素的数量
int GetCount();
//取得第i个元素
theCL GetAt(int i);
//删除元素
BOOL ListDelete(theCL e);
BOOL SetAt(int i,theCL e);
//取得头
theCL GetBakFirst();
BOOL RemoveBakFirst();
//元素的数量
int GetTempCount();
};
------解决方案--------------------
C++指针定义就是C#的类对象定义,而你的sockaddr_in定义为了结构体,这样使用起来就比较麻烦,因为C#处理结构体时按照值类型处理的,而不是引用地址,如果一定要用到地址的场合,建议改写为class。
另外你的数据类型对应有误,C++的long不是C#的long,C++的long是C#的int,这里有数据类型对照表,自己看:http://www.cnblogs.com/yiki/archive/2008/10/29/1321848.html