用CDatabase类当函数参数进行传递时出错了

来源:百度知道 编辑:UC知道 时间:2024/06/17 10:10:05
void Connect_DB(CDatabase m_db)
{
TRY
{m_db.Open(NULL,FALSE,FALSE,_T("ODBC;DSN=Mydb1;UID=sa;PWD=sa"));
}
CATCH(CDBException,e)
{
AfxMessageBox(_T("Database Error:") + e->m_strError);
}
END_CATCH;
先自定义一个连接数据库的函数。
然后调用他:
CDatabase m_db1;
Connect_DB(m_db1);
这时候,提示出错了,出错信息是:
error C2664: 'Connect_DB' : cannot convert parameter 1 from 'class CDatabase' to 'class CDatabase'
No copy constructor available for class 'CDatabase'
什么意思?CDatabase类没有拷贝构造函数?怎么解决
在下新手,求助各位高手,谢谢
高丈兄好像误读小弟的问题了吧,
“感谢大家,大家都对,就选字数最多的了 ”http://zhidao.baidu.com/question/81532537.html
大家都正确的情况下,小弟就选打字最多的那位朋友了,很正常嘛

师者,所以传道授业解惑也....

出现“No copy constructor available for class 'CDatabase' ”错误说明CDatabase'类中却没有copy构造函数的声明和实现。按照C++的标准,程序中只要有传值操作(作为函数的参数也属于此类),就会调用copy构造函数。

PS:真的都对吗,你试过把ID定义为负值吗?