我从CAsyncSocket派生了一个类,为什么用作CArray和CList的成员元素,编译都通不过呢?而用CString或是int做成员就能通过,编译错误为syntax error : missing ';' before '<'
e:\waterserver\waterserver.h(30) : error C2501: 'CArray' : missing storage-class or type specifiers
e:\waterserver\waterserver.h(30) : error C2501: 'CArray' : missing storage-class or type specifiers
一般是派生CAsyncSocket类的头文件没被包含, 还有呀自己写的类最好重载赋值与拷贝构造函数,这样放进array和list安全性才高;
当然最好是保存类对象的指针!
同时,对于复杂类型,比如你这里的类对象,必须有自己的拷贝构造函数,才能用CArray。如果需要用到GetAt之类的函数,还要重载=操作符才行。
或者使用
CPtrList m_pSocketList;
都可以存放CAsyncSocket 对象