为什么CList m_list不能当参数传递?急急急!!!!!

yushulei 2003-09-18 03:54:13
错误提示为:
E:\OCX\DbGrid_new\DbGridCtl.cpp(2353) : error C2664: 'Partition' : cannot convert parameter 1 from 'class CList<class CString,class CString &>' to 'class CList<class CString,class CString &>'
No copy constructor available for class 'CList<class CString,class CString &>'

本来我用的不CString 而时自定义的数据类,但也是这个错误,后来我就换成CString
结果还是一样,郁闷!
...全文
180 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yushulei 2003-09-19
  • 打赏
  • 举报
回复
搞定了!多谢各位。
foxbabby 2003-09-19
  • 打赏
  • 举报
回复
不用指针都可以
CList<CString,CString&> m_list;
m_list.AddHead(CString("sdljf"));
Test(&m_list);
函数申明:void Test(CList<CString,CString&> *list)
{
CString str=list->GetHead();
MessageBox(str);
}
}
wudhu 2003-09-18
  • 打赏
  • 举报
回复
楼主也可以用CStringArray类来代替CList<class CString,class CString &>
Viconia 2003-09-18
  • 打赏
  • 举报
回复
你直接把一个list当参数传递,而没有重载拷贝构造函数,当然会出错

还是用指针比较方便,注意用完释放就可以了
bluebohe 2003-09-18
  • 打赏
  • 举报
回复
你应该用它的指针来传递参数,这样的话就没有复制过程,传参可以相当顺利地进行
aaa(&m_list);


void aaa(CList<CString,CString&> *plist)
{
plist->………………
}
wuxfBrave 2003-09-18
  • 打赏
  • 举报
回复
可以传递引用类型的啊
yushulei 2003-09-18
  • 打赏
  • 举报
回复
to:foxbabby(碧海晴空)
你的意思是把变量定义为指针型的,void Test(CList<CString,CString&>*m_list);
可还是不行。
yushulei 2003-09-18
  • 打赏
  • 举报
回复
to:wwwllg(wwwllg)
能不能说详细点!谢谢
foxbabby 2003-09-18
  • 打赏
  • 举报
回复
可以传递
函数调用:Test(&m_list);
函数申明:void Test(CList<CString,CString&>*);
UDX协议 2003-09-18
  • 打赏
  • 举报
回复
重栽 = 就可以了。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧