
c++中出现 无法从“CString”转换为“const std::string”错误
CStringszFilterFDlg=_T("视频文件(*.avi;*.mov;*.mpeg;*.mpg;*.rmvb;*.mp4;*.wmv)|*.avi;*.mov...
CString szFilterFDlg =_T("视频文件 (*.avi;*.mov;*.mpeg;*.mpg;*.rmvb;*.mp4;*.wmv)|*.avi;*.mov;*.mpeg;*.mpg;*.rmvb;*.mp4;*.wmv||");
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilterFDlg); //打开视频文件
CString bluePathName; //此处不能在if里面定义,否则有可能得不到路径
if ( dlg.DoModal()==IDOK )
{
bluePathName=dlg.GetPathName();
}
if(blueVideoCapture.isOpened()) //如果现在已经加载了视频,则需要将其释放
{
blueVideoCapture.release();
}
blueVideoCapture.open((const string)bluePathName); //open(const string& filename)->为输入的引用
出现错误为:blueVideoCapture.open((const string)bluePathName);
提示错误为:error C2440: “类型转换”: 无法从“CString”转换为“const std::string”
1> 无构造函数可以接受源类型,或构造函数重载决策不明确
请大神指教,谢谢 展开
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilterFDlg); //打开视频文件
CString bluePathName; //此处不能在if里面定义,否则有可能得不到路径
if ( dlg.DoModal()==IDOK )
{
bluePathName=dlg.GetPathName();
}
if(blueVideoCapture.isOpened()) //如果现在已经加载了视频,则需要将其释放
{
blueVideoCapture.release();
}
blueVideoCapture.open((const string)bluePathName); //open(const string& filename)->为输入的引用
出现错误为:blueVideoCapture.open((const string)bluePathName);
提示错误为:error C2440: “类型转换”: 无法从“CString”转换为“const std::string”
1> 无构造函数可以接受源类型,或构造函数重载决策不明确
请大神指教,谢谢 展开
2个回答
展开全部
追问
问题已经解决,需要在:项目-项目属性——配置属性——常规——项目默认值——字符集里面改为”使用多字节字符集“。
谢谢各位了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询