error C2664: 'cvLoadImage' : cannot convert parameter 1 from 'CString' to 'const char *'

程序补充如下voidCsobeltestDlg::OnReadPic(){//TODO:在此添加控件通知处理程序代码CStringOpen_Filename;CFileD... 程序补充如下
void CsobeltestDlg::OnReadPic()
{
// TODO: 在此添加控件通知处理程序代码
CString Open_Filename;
CFileDialog fDlg(TRUE,_T("bmp"),_T("*.bmp"),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("原始图像(*.bmp)|*.bmp|所有文件(*.*)|*.*||"),NULL);

if (fDlg.DoModal() == TRUE)
{
Open_Filename = fDlg.GetFileName();
if(m_cvImage)
cvReleaseImage(&m_cvImage);
m_cvImage = cvLoadImage(Open_Filename,1);
if (m_cvImage==0)
MessageBox(_T("Reading Failed"));
else
DrawPicToHDC(m_cvImage, IDC_SHOW_WINDOW);
}

}
m_cvImage = cvLoadImage(Open_Filename,1);是这一句出错了,请教大虾如何改,万分感谢!!!
展开
 我来答
向日葵Friend
2011-06-21
知道答主
回答量:12
采纳率:0%
帮助的人:3.9万
展开全部
vs2008下设置项目属性
配置属性->常规->字符集,不选择“使用Unicode字符集”就可以了
松甜恬0Je4ba
2011-06-18 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3469万
展开全部
不能够把CString类型转换成char*类型.
你可以调用GetBuffer()函数来获取缓存区指针.

如果你的出错的实参数名是 CString类型的str.
str.GetBuffer()
它的返回值类型是char*
更多追问追答
追问
你好,能具体点吗,我刚开始学,还不太会用,谢谢了
追答
m_cvImage = cvLoadImage(Open_Filename.GetBuffer(),1);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友eefe7f2
2012-06-26 · 超过17用户采纳过TA的回答
知道答主
回答量:24
采纳率:0%
帮助的人:44.2万
展开全部
项目右键--> 属性 将 character set改为 Use multi-byte character set就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
305508676
2011-06-25 · TA获得超过649个赞
知道小有建树答主
回答量:627
采纳率:50%
帮助的人:602万
展开全部
bstr_t strFilename = Open_Filename;
m_cvImage = cvLoadImage((const char* strFilename ),1);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式