我自己写了一个struct a,然后设立一个CArray<a, a>.最后在用CArray::Add函数添加时,系统报错说:
error C2664: 'Add' : cannot convert parameter 1 from 'struct a' to 'struct a'
No copy constructor available for struct 'a'难道我必须用带拷贝构造函数的class而不能用普通的struct么?
error C2664: 'Add' : cannot convert parameter 1 from 'struct a' to 'struct a'
No copy constructor available for struct 'a'难道我必须用带拷贝构造函数的class而不能用普通的struct么?
解决方案 »
- 我的数据库是MSSQL.设计软件的时候是用本地连接的.功能都可以用.但是生成exe之后拿去其它电脑上运行就没数据了
- CListView create函数问题(在线等)
- 请问一个有关按钮的问题
- 如何全选CListBox里面的所有内容
- 应用程序和其界面完全分离,有没好的建议以及实现
- oracle与odbc问题
- 请问怎样用ado查询当前数据库记录总数?
- 设备路径的组成部分分别是哪些?
- CSocket类怎样设置超时?(83分,决不食言)
- 如何实现类似VB里的CallByName函数?
- 问个问题: Windows 的原始编程(用 C 和 API) 除了 vc 之外,还有没有其他的编译器?
- CPropertySheet接收什么消息后关闭自己?如何屏蔽?
建议2:增加拷贝构造函数和无参构造函数!
一个方法是如同楼上所说,用指针。CArray<a*,a*>
要么就为这些类写上拷贝构造函数。可能在后面的开发中还要重载等于操作符等。
或者对这个结构增加一个拷贝构造函数。