error C2440: “=”: 无法从“BSTR”转换为“long” [问题点数:50分]

Bbs1
本版专家分:0
结帖率 90.91%
Bbs7
本版专家分:14021
Bbs10
本版专家分:127589
Blank
进士 2018年总版新获得的技术专家分排名前十
Blank
红花 2019年1月 VC/MFC大版内专家分月排行榜第一
2018年12月 VC/MFC大版内专家分月排行榜第一
2018年11月 VC/MFC大版内专家分月排行榜第一
2018年10月 VC/MFC大版内专家分月排行榜第一
2018年9月 VC/MFC大版内专家分月排行榜第一
2018年8月 VC/MFC大版内专家分月排行榜第一
2018年5月 VC/MFC大版内专家分月排行榜第一
2018年4月 VC/MFC大版内专家分月排行榜第一
2018年3月 VC/MFC大版内专家分月排行榜第一
2018年2月 VC/MFC大版内专家分月排行榜第一
2018年1月 VC/MFC大版内专家分月排行榜第一
2017年12月 VC/MFC大版内专家分月排行榜第一
2017年11月 VC/MFC大版内专家分月排行榜第一
2017年7月 VC/MFC大版内专家分月排行榜第一
2012年7月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2018年7月 VC/MFC大版内专家分月排行榜第二
2018年6月 VC/MFC大版内专家分月排行榜第二
2017年9月 VC/MFC大版内专家分月排行榜第二
2017年8月 VC/MFC大版内专家分月排行榜第二
2017年4月 VC/MFC大版内专家分月排行榜第二
2017年3月 VC/MFC大版内专家分月排行榜第二
2017年2月 VC/MFC大版内专家分月排行榜第二
2016年8月 VC/MFC大版内专家分月排行榜第二
2016年7月 VC/MFC大版内专家分月排行榜第二
2016年6月 VC/MFC大版内专家分月排行榜第二
2015年6月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2017年10月 VC/MFC大版内专家分月排行榜第三
2017年6月 VC/MFC大版内专家分月排行榜第三
2017年5月 VC/MFC大版内专家分月排行榜第三
2016年9月 VC/MFC大版内专家分月排行榜第三
2016年4月 VC/MFC大版内专家分月排行榜第三
2015年4月 VC/MFC大版内专家分月排行榜第三
2012年8月 VC/MFC大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs10
本版专家分:167553
Blank
红花 2018年7月 VC/MFC大版内专家分月排行榜第一
2017年10月 VC/MFC大版内专家分月排行榜第一
2016年3月 VC/MFC大版内专家分月排行榜第一
2014年10月 VC/MFC大版内专家分月排行榜第一
2014年9月 VC/MFC大版内专家分月排行榜第一
2014年7月 VC/MFC大版内专家分月排行榜第一
2014年6月 VC/MFC大版内专家分月排行榜第一
2014年5月 VC/MFC大版内专家分月排行榜第一
2014年4月 VC/MFC大版内专家分月排行榜第一
2014年2月 VC/MFC大版内专家分月排行榜第一
2013年7月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2018年10月 VC/MFC大版内专家分月排行榜第二
2018年9月 VC/MFC大版内专家分月排行榜第二
2018年8月 VC/MFC大版内专家分月排行榜第二
2018年5月 VC/MFC大版内专家分月排行榜第二
2017年12月 VC/MFC大版内专家分月排行榜第二
2017年6月 VC/MFC大版内专家分月排行榜第二
2017年5月 VC/MFC大版内专家分月排行榜第二
2017年1月 VC/MFC大版内专家分月排行榜第二
2016年11月 VC/MFC大版内专家分月排行榜第二
2016年4月 VC/MFC大版内专家分月排行榜第二
2014年11月 VC/MFC大版内专家分月排行榜第二
2014年1月 VC/MFC大版内专家分月排行榜第二
2013年10月 VC/MFC大版内专家分月排行榜第二
2013年9月 VC/MFC大版内专家分月排行榜第二
2013年6月 VC/MFC大版内专家分月排行榜第二
2013年4月 VC/MFC大版内专家分月排行榜第二
2012年6月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2018年11月 VC/MFC大版内专家分月排行榜第三
2018年6月 VC/MFC大版内专家分月排行榜第三
2018年4月 VC/MFC大版内专家分月排行榜第三
2018年3月 VC/MFC大版内专家分月排行榜第三
2018年2月 VC/MFC大版内专家分月排行榜第三
2018年1月 VC/MFC大版内专家分月排行榜第三
2017年11月 VC/MFC大版内专家分月排行榜第三
2017年9月 VC/MFC大版内专家分月排行榜第三
2017年8月 VC/MFC大版内专家分月排行榜第三
2017年4月 VC/MFC大版内专家分月排行榜第三
2016年12月 VC/MFC大版内专家分月排行榜第三
2016年10月 VC/MFC大版内专家分月排行榜第三
2016年2月 VC/MFC大版内专家分月排行榜第三
2015年10月 VC/MFC大版内专家分月排行榜第三
2015年7月 VC/MFC大版内专家分月排行榜第三
2012年10月 VC/MFC大版内专家分月排行榜第三
Bbs9
本版专家分:55535
Blank
红花 2015年8月 硬件/嵌入开发大版内专家分月排行榜第一
2015年7月 VC/MFC大版内专家分月排行榜第一
2015年5月 VC/MFC大版内专家分月排行榜第一
2015年4月 VC/MFC大版内专家分月排行榜第一
2015年3月 VC/MFC大版内专家分月排行榜第一
2015年1月 硬件/嵌入开发大版内专家分月排行榜第一
2013年12月 VC/MFC大版内专家分月排行榜第一
2013年11月 VC/MFC大版内专家分月排行榜第一
2013年6月 VB大版内专家分月排行榜第一
2013年5月 VB大版内专家分月排行榜第一
2013年1月 VB大版内专家分月排行榜第一
2012年12月 VB大版内专家分月排行榜第一
Blank
黄花 2015年9月 VC/MFC大版内专家分月排行榜第二
2015年7月 硬件/嵌入开发大版内专家分月排行榜第二
2014年5月 VC/MFC大版内专家分月排行榜第二
2014年3月 VC/MFC大版内专家分月排行榜第二
2013年10月 VB大版内专家分月排行榜第二
2013年7月 VB大版内专家分月排行榜第二
2012年5月 VB大版内专家分月排行榜第二
2012年4月 VB大版内专家分月排行榜第二
2012年2月 VB大版内专家分月排行榜第二
2011年11月 VB大版内专家分月排行榜第二
Blank
蓝花 2015年11月 VC/MFC大版内专家分月排行榜第三
2015年6月 VC/MFC大版内专家分月排行榜第三
2015年2月 VC/MFC大版内专家分月排行榜第三
2014年1月 VC/MFC大版内专家分月排行榜第三
2012年3月 VB大版内专家分月排行榜第三
2011年12月 VB大版内专家分月排行榜第三
2011年10月 VB大版内专家分月排行榜第三
Bbs5
本版专家分:2265
Bbs7
本版专家分:10565
error C2440: “=”: 无法从“CString”转换为“LPCWSTR” 解决办法
今天在VS2012建立的MFC工程中做视频解码,一直遇到这个错误,这个问题的解决办法有以下三个: 方法1、将工程属性->配置属性->常规->字符集中设置设置成“使用多字符字符集”。 方法2、将出错的地方的CString型变量前加一个W2A。 eg:W2A(StringName) 方法3、将出错的地方的CString型变量前加一个_T。 eg:_T(StringName)
error C2440: “初始化”: 无法从“const char [8]”转换为“const wchar_t *” 1> 与指向的类型无关;转换要求 reinterpret_ca
错误类型 1> Warning static builds of getopt violate the Lesser GNU Public License 1>..\src\upMultiConfig.cpp(56): <em>error</em> C2440: “初始化”: <em>无法</em>从“const char [8]”转<em>换为</em>“const wchar_t *” 1> 与指向的类型无关;转换要求 r
error C2440: “初始化”: 无法从“void *”转换为“box *”
报错代码修改其他类似。
error C2440: “类型转换”: 无法从“LPVOID”转换为“double
DWORD WINAPI Fun(LPVOID lpParam) { //liveness double *threaholddd; threaholddd = (double*)lpParam; } lpParam 是个指针类型。 所以需要定义一个指针类型的来匹配它。
error C2440: “初始化”: 无法从“int *”转换为“CMyPointCloudDoc *”
同一个错误,产生的原因可能会有很多很多,因为编译器是程序写死的东西,很多时候它也不知道究竟哪里出的错误。 本程序报错如下:错误    15    <em>error</em> C2143: 语法错误 : 缺少“;”(在“*”的前面)    e:\pointcloud\mypoint\mypointcloud\mypointcloud\mypointcloudview.h    20错误    16    <em>error</em>...
error C2440: “=”: 无法从“CString”转换为“const char *”
what a fucking problem!!!! 最简单的方法是到项目属性里面去改一下字符集,可是恶心的是我的程序要是改了字符集的话,那么恶心的问题又多了,都是字符间的转换问题,google,baidu搜了有一个小时了,尼玛还是没有解决,先写到这里,我再接着去尝试。2014/3/11/10:50 Finally, I solve this dame question,still w
error C2440: “初始化”: 无法从“char *”转换为“int”
在用opencv写程序时用到了main函数传递双参数的问题,其中main为 int main(int argc, char* argv[]) {  IplImage* src = 0;  IplImage* dst = 0;    src = cvLoadImage(argv[1],1);  int angle = argv[2]; } 这是会出现如题的错误,后来经过分析更正为如
vs2010提示error C2440: “=”: 无法从“wchar_t *”转换为“char *”,求解
CString::GetBuffer()返回的类型是LPTSTR。 我们查看LPTSTR的定义: #ifdef  UNICODE                     // r_winnt typedef LPWSTR PTSTR, LPTSTR; #else   /* UNICODE */               // r_winnt typedef LPSTR PTSTR,
VS2005 中error C2440: 如无法从“const char [N]”转换为“LPCWSTR” 的一点总结
一般出现这种BUG 的,是由于字符集的问题。在vs2005中有两个字符集,Unicode 和 Muti-bye。 LPCTSTR在Multi-byte Character方式下与const char*等价,在Unicode方式下与const tchar*等价。所以在Unicode方式下对其赋值像下面这样:LPCTSTR location = _T("Software//");//加_T进行转化否则报错:<em>error</em> C2440: “初始化”: <em>无法</em>从
error C2440: “初始化”: 无法从“const char *”转换为“char *”
onst char* pc_char = 0;  char *cP = pc_char; ////////////////////////////////////////////////// const char* pc_char = 0;  char *cP = const_cast(pc_char); //提示你错误的指针,但是可以编译通过   const_cast  //将c
error C2440: “=”: 无法从“int [5][5]”转换为“int (*)[4]”
如下: int _tmain(int argc, _TCHAR* argv[]) { int a[5][5]; int (*p)[4]; p=a; printf("a_ptr =%#p,p_ptr=%#p\n",&a[4][2],&p[4][2]); printf("%p,:%d\n",&p[4][2]-&a[4][2],&p[4][2]-&a[4][2]); system("
编译ERROR C2440: 无法从“const char [47]”转换为“LPCTSTR”
<em>error</em> C2440: “=”: <em>无法</em>从“const char [47]”转<em>换为</em>“LPCTSTR”作者:ImMcss 欢迎转载,请以超链接形式保留原文地址。在开发过程中经常会遇到使用LPCTSTR型作为输入参数的API函数。直接传字符串会出来"C2440"编译错误。例如代码:LPCTSTR   StrKey="HARDWARE//DESCRIPTION//System//CentralPro
错误 1 error C2440: “=”: 无法从“const char [11]”转换为“LPCWSTR”
出现上述错误的原因是创建项目时,默认设置的字符集为Unicode,改为使用多字符集就可以: 右键单击项目,选择“属性“->"配置属性"->"常规"->"字符集",更改为使用多字符集。
error C2440: 如无法从“const char [N]”转换为“LPCWSTR” 的一点总结
一般出现这种BUG 的,是由于字符集的问题。在vs2005中有两个字符集,Unicode 和 Muti-bye。   LPCTSTR在Multi-byte Character方式下与const char*等价,在Unicode方式下与const tchar*等价。所以在Unicode方式下对其赋值像下面这样: LPCTSTR location = _T("Software//")
error C2440: “初始化”: 无法从“initializer list”转换为
代码:struct TBLLMgrNetSN{    int16_t wSN_BLL = 0;    int16_t wSN_Msg = 0;    TBLLMgrNetSN() {        memset(this, 0, sizeof(TBLLMgrNetSN));    }};TBLLMgrNetSN tBLLMgrNetSN {1,2};输出:<em>error</em> C2440: “初始化”: 无...
关于 错误 C2440 “初始化”: 无法从“const char *”转换为“cv::Formatted *”的一种可能
今天运行一个opencv时出现了一个这种错误,不知道是怎么了,上网一查发现 ****严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C2440 “初始化”: <em>无法</em>从“const char *”转<em>换为</em>“cv::Formatted *” f:\opencv\opencv\build\include\opencv2\core\ptr.inl.hpp 122 很多新学习opencv的朋友可能都遇到...
error C2440: “类型转换” : 无法从“overloaded-function”转换为
原因:线程函数需要静态成员函数或全局函数 class foo {   DWORD work_thread(PVOID args); }; 1)因为foo类没有实例化,不能直接调用里面的函数,需要将其声明为静态成员函数 class foo {
关于 错误 C2440 “初始化”: 无法从“const char *”转换为“cv::Formatted *”的一种可能
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C2440 “初始化”: <em>无法</em>从“const char *”转<em>换为</em>“cv::Formatted *” f:\opencv\opencv\build\include\opencv2\core\ptr.inl.hpp 122 很多新学习opencv的朋友可能都遇到过这个问题 配置什么的都已经是正确的需要的命名空间也都已经引用了 花了很久的时间...
VS2017 报错;C2440:无法从“const char [14]”转换为“char *”
解决办法: 如果确实可以,那在char前面加const即可。 如果不能,则必须改成string格式。 理由微软给的如下解释:
QT MSVC2013/ vs2013 C2440: “初始化”: 无法从“initializer-list”转换为“***” 错误
错误信息 3> <em>error</em> C2440: “初始化”: <em>无法</em>从“initializer-list”转<em>换为</em>“QVectorQPairQString,QString>>” 3> 无构造函数可以接受源类型,或构造函数重载决策不明确 3> <em>error</em> C2440: “初始化”: <em>无法</em>从“initializer-list”转<em>换为</em>“QVectorT>” 3> with 3
error C2440: “初始化”: 无法从“DicomImage *”转换为“DicomImage”解决方案
问题出处:          用DCMTK编写一个MFC程序,目标是实现DICOM图像的显示。错误代码如下:DicomImage dcmImage = new DicomImage(dataset, xfer);           在网上也看到很多人再问这个错误怎么解决。我自己的解决方法如下:错误提示          错误 1 <em>error</em> C2440: “初始化”: 无
CString使用GetBuffer转换成std::string类型失败 原因
cstr.GetBuffer(cstr.GetLength()); 但是编译时会出现如下错误: <em>error</em> C2440: “初始化”: <em>无法</em>从“wchar_t *”转<em>换为</em>“std::basic_string”   解决方法: 把工程属性中的字符串模式 改为 ANSI 模式编译,如Use Multi-Byte Character Set。貌似新建应用程序默认用的是UNICODE编译。
【转】VC中BSTR、Char和CString类型的转换(太牛了)
1、char*转换成CString 若将char*转换成CString,除了直接赋值外,还可使用CString::format进行。例如: char chArray[] = "This is a test"; char * p = "This is a test";或 LPSTR p = "This is a test"; 或在已定义Unicode应的用程序中 TCHAR * p = _T
error C2664,error C2440: vs2010转到vs2015时候出现多条以上错误,共同点是 无法从“LPCWSTR”转换为“LPCSTR”
1>------ 已启动全部重新生成:  项目: Project2, 配置: Debug Win32 ------ mclass.cpp(46): <em>error</em> C2664: “int MessageBoxA(HWND,LPCSTR,LPCSTR,UINT)”: <em>无法</em>将参数 2 从“const wchar_t [33]”转<em>换为</em>“LPCSTR” 1>          与指向的类型无关;转换要
VC6编写的程序移植到VS2010中编译时error C2440: “static_cast”问题的解决
编写自定义消息映射的时候,VS编译器报错:<em>error</em> C2440: “static_cast”: <em>无法</em>从“LRESULT (__thiscall CSimpleThreadDlg::* )(void)”转<em>换为</em>“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”原因是VC6项目移植到编译时检查更严格的VS2010上,需要针对源代码做出更改,解决方法很简单:ON_MESSAGE消息在afxmsg_.h中有
decoding_encoding.c 在VS下调试错误总结
<em>error</em> C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1>          d:\microso
std命名空间的bind和sys/socket.h中bind发生冲突
编译时候报如下错误: 不能将‘std::_Bind’转<em>换为</em>‘int’,在 initialization 中 解决办法: 如果想用std的bind,就在bind前加std::,例如:int result = std::bind(listen_fd, (struct sockaddr *)&server, sizeof(struct sockaddr)); 如果想用sys/socket
[转]VC常用小知识
[转]VC常用小知识   (1) 如何通过代码获得应用程序主窗口的 指针? 主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。 AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED) //使程序最大化. (2) 确定应用程序的路径 Use GetModuleFileName
VS2008 c++ 无法从“char [32]”转换为 等等
错误 1 <em>error</em> C2440: “初始化”: <em>无法</em>从“char [32]”转<em>换为</em>“ATL::CStringT” 错误 4 <em>error</em> C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型 错误 3 <em>error</em> C2664: “int ATL::CStringT::Replace(wchar_t,wchar_t)”: 不能将参数 1 从“const c
**PCL:嵌入VTK/QT显示(Code^_^)
中国人真是太不知道分享了,看看这个老外的博客,启发性链接。 启发性链接:http://www.pcl-users.org/QT-PCLVisualizer-mostly-working-td3285187.html
智能指针(二):shared_ptr浅析
前言 这个指针近乎完美,原来出现在boost库中,C++11时引入了标准库,解决了auto_ptr对内部对象独占的机制,转而采用引用计数的方式,每增加一次赋值,则引用计数加1,每析构一个智能指针对象,则引用计数减1,当引用计数为1时销毁智能指针对象的同时,也析构内部对象。这种采用引用计数方式避免了对象所有权转移,所以作为函数返回值,函数参数,容器的元素都不会有问题,但是因为引用计数的加入,相应的...
解决C++ 无法从void 转换为LRESULT的方法详解
这个应该是一个MFC程序,ON_MESSAGE是添加消息响应函数,这句话就是添加热键WM_HOTKEY的响应函数。当你注册了热键之后,当用户按下热键,会执行OnHotKey函数来处理这个消息。错误就应该是OnHotKey这个函数的声明错误了,返回值应该是LRESULT. VS2008对消息的检查更为严格,以前在VC6下完全正常运行的消息映射在VS2008下编译不通过 ON_MESSAGE(W
【数据结构】在运行循环队列的顺序表示是基本操作程序时出现错误:“QueueTraverse”: 不能将参数 2 从“QElemType”转换为“int (__cdecl *)(QElemType)”
在运行循环队列的顺序表示是基本操作程序时出现错误:“QueueTraverse”: 不能将参数 2 从“QElemType”转<em>换为</em>“int (__cdecl *)(QElemType)” 请大家指教! 定义时:Status QueueTraverse(SqQueue *Q,void((*visit)(QElemType e)) ) 调用时:QueueTraverse(&amp;amp;Q,d); 完整...
将byte数组的内容转换成BSTR类型,反之。
问题描述: 之前我们有个接口类似int WINAPI ReadBiosVersion(BYTE *bios, ULONG size, char *version);这个接口是包装在dll中,是操作底层bios的。提供接口的人,提供了32bit和64bit两套dll.而我们的应用程序是32bit的,需要在64bit OS上运行,就需要调用64bit.所以我们的方案是上篇文章介绍的使用进程外的COM
VS2013编译CloudCompare注意事项
VS2013对C++新特性的支持不够,在编译CloudCompare时会报各种错误。现将遇到的问题及解决方法跟大家分享下。① <em>error</em> C2440: “初始化”: <em>无法</em>从“initializer-list”转<em>换为</em>“QList&amp;lt;QChar&amp;gt;”这个是VS2013对initializer-list还不支持。initializer-list指的是C++11中的一个新特性,允许构造自定义对象数...
BSTR与std::string相互转换
 1.BSTR -> std::string 举例如下 BSTR <em>bstr</em>Test = ::SysAllocString(L”Test”); _<em>bstr</em>_t <em>bstr</em>_t(<em>bstr</em>Test); std::strStl = <em>bstr</em>_t; SysFreeString(<em>bstr</em>Test );   2.std::string -> BSTR 举例如下 std::string
无法从“const char [27]”转换为“wchar_t *”
用宏_T("xxx"),或者TEXT("xxx")将字符串给包起来
CString与BSTR之间的转换
? CString----BSTR CString sName = _T("Hello"); BSTR bsName = sName.AllocSysString(); SysFreeString(bsName); ? CString----CComBSTR CComBSTR cbsName(sName); //UNICODE:调用构造函数CComBSTR
关于无法从“initializer-list”转换为“QJsonObject”解决办法
一、简述前些天在工作中使用QJsonObject的构造进行初始化出现了一下的问题。我们先看一下下面QJsonObject的一种构造方法。在我使用的VS2013版本编译时会出现<em>无法</em>从“initializer-list”转<em>换为</em>“QJsonObject”的问题。问题出在Q_COMPILER_INITIALIZER_LISTS宏定义。(见下图)class Q_CORE_EXPORT QJsonObject
CString 与 BSTR之间的转换
转载自:CString与BSTR之间的转换 CString——&amp;gt;BSTR CString sName = _T(&quot;Hello&quot;); BSTR bsName = sName.AllocSysString(); SysFreeString(bsName); CString——&amp;gt;CComBSTR CComBSTR cbsName(sName); //UNI...
BSTR详解五 - BSTR与其它字符串类型转换
1         类型转换常用字符串件的类型转换。  From To Sample
BSTR 和 string 之间互转
_<em>bstr</em>_t 在头文件comutil.h里面定义。 但是string newStr = (cahr *)<em>bstr</em>;的方法是不可以的,这样只会把<em>bstr</em>里面的第一个字符赋值给string. string str = "Hello IPad"; BSTR <em>bstr</em> = _<em>bstr</em>_t(str.c_str()); string newStr = (_<em>bstr</em>_t)<em>bstr</em>;
无法从“CString”转换为“LPCSTR”
float inputdata=atof(LPCSTR(GetInputString())); m_StackData.push(inputdata); while(!m_StackOprator.isEmpty()&&!m_StackData.isEmpty())
加载vectordraw时出现的错误!
<em>error</em> C2440: “return”: <em>无法</em>从“__missing_type__ *”转<em>换为</em>“__missing_type__” fatal <em>error</em> C1084: <em>无法</em>读取类型库文件:“..\..\Debug\VDF\VectorDraw.Professional.tlb”: 加载类型库/DLL 时出错。 不知道怎么处理,求高手!!!
VC6转VC8出现问题:error C2664: “fopen”: 不能将参数 1 从“const char [ ]”转换为“const wchar_t *”
CString str;  str.Format("Amount Remaining $ %.2f", m_Amt_Remaining);), 上VC6中上述代码没有问题,但在Visual stdio 2008中编译中有错误: 错误提示: <em>error</em> C2664: “void ATL::CStringT::Format(const wchar_t *,...)”: 不能将参数 1
解决vs工程混合.c和.cpp文件编译遇到一系列void*无法转换成结构体的错误
  最近在项目中引入sqlite3加密(wxSQLite、SQLCipher)相关代码时,编译遇到如下错误:例如,<em>error</em> C2440: “初始化”: <em>无法</em>从“void *”转<em>换为</em>“sqlcipher_provider *”   分析发现如下原因:     项目中工程的编译方式是“编译为C++代码(/TP)“,而我是将sqlite3.c手动拖入到工程中,打开.vcxproj工程文件可以看到如...
面向抽象类编程思想强化:案例:socket库C++模型设计和实现
一、理论知识:      1、虚函数和多态性使成员函数根据调用对象的类型产生不同的动作。      2、多态性特别适合于实现分层结构的软件系统,便于对问题抽象时 定义共性,实现时定义区别      3、面向抽象类编程(面向接口编程)是项目开发中重要技能之一。      4、抽象类在多继承中的应用。                 C++没有Java中的接口概念,抽象类可以模拟Java中的接口类(接...
OpenSceneGraph开发中的一些陷阱
1.如果对osg::PositionAttitudeTransform这个节点设置了更新回调,那么对这个节点做的一些平移,旋转,缩放操作都会失效,即setAttitude,setPosition,setScale这些函数都会无效。 解决的办法:在这个更新回调下面添加一个osg::PositionAttitudeTransform类型的子节点,将之前想要进行的平移,旋转,缩放操作施加在这个子节点中
ffmpeg filter介绍及实例
原文网址(转载请注明出处): (http://blog.csdn.net/newchenxf/article/details/51364105) 目录 目录什么是ffmpeg filter如何使用ffmpeg filter 1 将输入的1920x1080缩小到960x540输出2 为视频添加logo3 去掉视频的logo 自己写一
_variant_t ,_bstr_t 与 CString 类有什么区别 以及相互转换
_variant_t ,_<em>bstr</em>_t 与 CString 类有什么区别                                           int i = 100;   <em>long</em> l = 2001;   float f=300.2;   double d=12345.119;   char username[]="程佩君";
C++中error C2440: “=”: 无法从“void *”转换为“graph_node **”
使用显示转换static_cast<>就能解决。
C++中过长的 string 转为 _bstr_t 失败问题的解决方法
bool CElement::LoadXML(std::string const & xml, int depth) { try { _<em>bstr</em>_t <em>bstr</em>XmlSum = ""; <em>bstr</em>XmlSum = xml.c_str();//编程实践中,当xml为5百多K的时候,这一句会抛出异常 return RawLoadXML(<em>bstr</em>XmlSum, depth); } catch (...) { Log("解析 XM
BSTR与string之间的转换以及注意事项
示例代码: // <em>bstr</em>_string.cpp : 定义控制台应用程序的入口点。 // #include &quot;stdafx.h&quot; #include &amp;lt;iostream&amp;gt; #include &amp;lt;string&amp;gt; #include &amp;lt;windows.h&amp;gt; #include &amp;lt;comutil.h&amp;gt; using namespace std; #ifdef...
BSTR,CString,LPCTSTR三者之间的转化
BSTR,CString,LPCTSTR三者之间的转化 BSTR是OLECHAR*类型的Unicode字符串。CComBSTR是ATL对BSTR封装类。_<em>bstr</em>_t是C++对BSTR的封装。    LPCTSTR是 const   char*。    除了用_<em>bstr</em>_t,也可以通过CString,BSTR可以直接赋给CString,然后通过强制转换(LPCTSTR)或strc
COM字符串转换大全
COM Strings 20 Jan 2001 13:59IntroductionCOM uses Unicode exclusively.  COM strings are called "OLE Strings" or "Basic Strings."  COM objects that aren't built under Unicode must convert OLE strings to ASCII in order to pass them to Win32 and t
VC中BSTR、Char*、CString类型相互转换
1、char*转换成CString 若将char*转换成CString,除了直接赋值外,还可使用CString::format进行。例如: char chArray[] = "This is a test"; char * p = "This is a test"; 或 LPSTR p = "This is a test"; 或在已定义Unicode应的用程序中 TCH
BSTR与char*转换
BSTR转换成char*  方法一,使用ConvertBSTRToString。例如:  #include  #pragma comment(lib, "comsupp.lib")  int _tmain(int argc, _TCHAR* argv[]){  BSTR <em>bstr</em>Text = ::SysAllocString(L"Test");  char* lpszT
COM中的OLECHAR ,BSTR和CComBSTR 的理解和应用
COM中的OLECHAR ,BSTR和CComBSTR 的理解和应用
Socket中的bind函数与C++11中的std::bind冲突
使用Socket类时遇到函数冲突的问题,情况是这样的,Socket中有一个bind函数, 原型如下 :      if (bind(server_fd,(struct sockaddr*)&server_addr, sizeof(struct sockaddr)) == -1){         printf("FILE:%s, line:%d,邦定套字接失败\n", __FILE__,
_bstr_t类型(转)
2009-07-26_<em>bstr</em>_t类型 - [C++]http://wangw.blogbus.com/logs/43003776.html1._<em>bstr</em>_t是个对<em>bstr</em>的类,具体定义可以看comutil.h。     com组件传输字符串有固定的标准,就是<em>bstr</em>,这样才能在不同的语言里调用,试想你传的是c的某个字符串类型,vb又如何调用呢?ado是个com组件所以传的
【OpenCV学习笔记】【类型转换】一(IplImage和cv::Mat的类型相互转换)
先假设img为cv::Mat类型,而Image为IplImage类型 cv::MatIplImage Image = IplImage(img); 反过来,IplImagecv::Mat如下 cv::Mat img(Image, 0); 不会复制内容,只是二者共用数据,即.data指向同一存储区,但各有各自的header。 我查了下二者的定义,发现IplImag
vc6工程改用vs2010工程打开编译出错:static_cast”: 无法从“void (__thiscall CMainFrame::* )(void)”转换为...
出处:http://blog.163.com/chenpeijie0_0/blog/static/183094571201161304437752/ VS2008对消息的检查更为严格,以前在VC6下完全正常运行的消息映射在VS2008下编译不通过 ON_MESSAGE(WM_message,OnMyMessage); OnMessage返回值必须为LRESULT,其形式为:afx_msg L
创建一个Pager实现类在基于maven的ssh项目中出现无法install的解决方案(不兼容的类型: capture#1, 共 ?无法换为long))
错误原因:这里方法的类型为<em>long</em>是没错的,需要把return的返回类型改成封装后的<em>long</em>类型及Long类型
关于VS2012使用make_pair编译提示“error C2664: “std::make_pair”: 不能将参数 1 从“int”转换为“int &&””
 参照微软官方回复: #include #include #include #include using namespace std; int main() { string ht = "hello"; pair ps; #if defined(FIX1) ps = pair(1, ht); #elif defined(FIX2) ps = ma
BOOL CreateProcessW: 无法将参数 2 从“char [4]”转换为“LPWSTR” 错误的解决方法
#include "stdafx.h" #include int main(int argc, char* argv[]) {   //创建进程  char szCommandLine[]="cmd";  STARTUPINFO si={sizeof(si)};  PROCESS_INFORMATION pi;  si.dwFlags=STARTF_USESHOWWINDOW
解决关于initializer_list对象拷贝的疑问
解决关于initializer_list对象拷贝的疑问
error C4772: #import 引用了缺少的类型库中的类型;“__missing_type__”用作占位符
环境:cpu64,win7 64操作系统,vs2008,office2013,wps2013个人版 1.由于换了一个笔记本,xp->win7,office2010->2013,wps2012->2013,导致原来的代码不能用了 原始代码: #import "lib/wps/2012.8.1.0.2998/kso10.dll" rename("RGB", "KsoRGB") rename
无法从CString 转换为wchar_t* 类型
解决这个问题需要走两步,第一是将CString转<em>换为</em>const char*类型,第二部是将const char*转<em>换为</em>wchar_t*类型。 代码如下: CString imagepath; int count = 0; count++; imagePath.Format(_T("E:\\image%d"), count); imag
C++编译出现 error C2664: 不能将参数 2 从“const char [5]”转换为“LPCTSTR”解决办法。
原因:编译程序的时候出现这样的错误,原因是在新建MFC项目的时候,设置字符集Unicode的属性 解决方法一: 在VC2010的解决方案管理器窗口内,右击你的项目“项目”,然后选“属性”(最后一项),再点“配置属性”,是个“+”号,把它展开,然后选“常规”选项卡,倒数第三项“字符集”,选择“使用多字节字符集”。问题解决。 解决方法二: 使用调用CString::AllocSys
inet_addr”: 不能将参数 1 从“CString”转换为“const char *”1>
CString ipaddress; ipaddress = "192.168.39.207"; DWORD m_dwPuIp; m_dwPuIp = inet_addr(ipaddress);有一个错误: “inet_addr”: 不能将参数 1 从“CString”转<em>换为</em>“const char *”1>没有可用于执行该转换的用户定义的转换运算符,或者<em>无法</em>调用该运算符. 网上有说用LPCTS
error C4772: #import 引用了缺少的类型库中的类型;“__missing_type__”用作占位符 解决办法
用#import方式引入Word类型库时出现该问题,引入方式: #import "..\\import\\OFFICE12\\MSO.DLL" rename_namespace("Office"),named_guids,exclude("Pages"),rename("RGB","MSORGB"),rename("IAccessible","MSIaccessible") using nam
VS2010中bitset类型不能用unsigned long类型初始化
C++ 标准里面定义的初始化bitset对象的方法有: bitset b(u); 其中n为位数,u为unsigned <em>long</em>型。 最近遇到一个问题,需要求一个输入整数中的二进制1的个数。 如输入 int 5,在内存中的存储形式为00000000000000000000000000000101,二进制1的个数为2; int -5, 在内存中的存储形式为1111111111
maven编译报错“不兼容的类型”
刚开始用maven,没看出来哪里有问题。之前普通java工程编译没问题的,依赖的问题也都解决了。这次有点奇怪: 。。。。(众多debug信息) [ERROR] COMPILATION ERROR :  [INFO] ------------------------------------------------------------- [ERROR]  /F:/workspac
error C2664: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”
vs2010 出现如下提示: <em>error</em> C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转<em>换为</em>“LPCTSTR” 这个错误提示的原因是 VS2010 默认使用的是 UNICODE 字符集,在参数转换时会出错。 解决方法很简单。 方法一: MessageBox(_T("你已经提交成功。")); 即在参数前加上 _T
无法从指针(Node *)类型转换为const指针(const Node *&)
<em>无法</em>用指针(Node *)类型转<em>换为</em>const指针(const Node *&)。在以下代码中:struct Node { int val; int index; Node(){} Node(int v, int i) :val(v), index(i){} }; struct CompareNode { bool operator()(const Node *&lhs,const N
每日一篇(10):C++各种类型的char*、QString、string、wstring、BSTR格式相互转化
(1)char*转QString char* pages; QString inputpage = QString(QLatin1String(pages)); (2)QString转char* QString str; char* ch; QByteArray ba = str. toLocal8Bit(); // must ch=ba.data(); (3)QString转换stri...
error C2664: “wsprintfW”: 不能将参数 1 从“char [32]”转换为“LPWSTR” 1>
在VS2010的环境中出现这个问题 解决方法: 菜单栏 项目-“XX(项目名)属性”-“配置属性”-“常规”里面有“字符集”内容改成“使用多字节字符集” 基本都可以解决
VS2010--不能将参数 2 从“const char [12]”转换为“LPCWSTR”与指向的类型无关
[cpp] view plaincopyprint? PROCESSENTRY32 pe32;  HANDLE hSnaphot;  HANDLE hApp;  DWORD dProcess = 0;                hSnaphot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); // 获取进程快照   Proce
OpenMesh编译错误解决小结
原文地址:http://blog.csdn.net/bbppbb/article/details/38414943 学习代码:http://blog.csdn.net/chaojiwudixiaofeixia/article/details/50460887 错误说明 跟原文的这些错误类似(如下),本人的是OpenMesh::PolyMesh_ArrayKernelT<em>无法</em>解析
C类型转换:error C2664:不能将参数 从“int”转换为“const char *”
int iLine; char iLinelen=(char *)strlen(iLine); printer.PR_Cmand(iLine,sizeof(int)); 原本想用(char *)strlen(iLine)实现int到string;因为PR_Cmand(char *data, int len)结果一直报错 <em>error</em> C2664: “strlen”: 不能将参数 1
待解决的问题——rapidjson
输出日志::  <em>error</em> C2664: “rapidjson::GenericValue,rapidjson::MemoryPoolAllocator> &rapidjson::GenericValue,rapidjson::MemoryPoolAllocator>::AddMember(rapidjson::GenericStringRef,rapidjson::GenericStringR
error C2664: “wcscpy”: 不能将参数 1 从“LPSTR”转换为“wchar_t *”
wcscpy(pTVTipInfo->pszText,strText); 报错: <em>error</em> C2664: “wcscpy”: 不能将参数 1 从“LPSTR”转<em>换为</em>“wchar_t *”   解决方法: 用strcpy替换wcscpy,即strcpy(pTVTipInfo->pszText,strText);因为strcpy是ansi字符集下的函数,而wcscpy是un
不能将参数 2 从“char [256]”转换为“LPWSTR”
对于代码段char strBuff[256]; CString strFilePath; strFilePath=GetCurrentDirectory(256,strBuff); strFilePath.Format("%s//ESssDataSynchronous.ini",strBuff);推荐方法对于类型为char的变量,改为TCHAR 改用宽字符指定字面字符串 如 strFilePa
VS2010中,ON_WM_NCHITTEST宏编译不过的修改方法
 转 http://www.cnblogs.com/lingshaohu/archive/2011/12/07/2279904.html VS2010中,ON_WM_NCHITTEST宏编译不过,报错信息如下: <em>error</em> C2440: 'static_cast' : cannot convert from 'UINT (__thiscall CMenuBar::* )(CPoi
C++实现BSTR转char*的2个方法
方法一,使用ConvertBSTRToString。例如: 1 2 3 4 5 6 7 8 9 #include #pragma comment(lib, "comsupp.lib") int _tmain(int argc, _TCHAR* argv[]){ BS
error C2664: “strcpy”: 不能将参数 2 从“CString”转换为“const char *”
这是错误: <em>error</em> C2664: “strcpy”: 不能将参数 2 从“CString”转<em>换为</em>“const char *” 这是源码: LPSTR m_pszMapView; CString m_strSend; strcpy(m_pszMapView,m_strSend); 解决方法:在项目->XX工程属性->项目配置,字符集选择为多字节字符集.
VS2013中无法从XXX转换为“LPCWSTR”问题的解决
一些老的代码在VC6中没问题,但是在VS2005以后的版本中会出现XXX<em>无法</em>转<em>换为</em>“LPCWSTR”的问题,这时UNICODE编码造成的
error C2664: “MessageBoxW”: 不能将参数 2 从“char [300]”转换为“LPCWSTR” 1> 与指向的类型无关;转换要求 reinterpret_”问题解决
为什么出现这个问题呢,因为我读到一个opencv的程序,其中调用MessageBox,下面为MessageBox的定义: MessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType ) 其中,第2、3个参数定义为LPCTSTR,在程序中定义第二个参数为显示结果,如下图中的9
maven error提示: 不兼容的类型: java.lang.Object无法换为T
使用Maven install打包程序,但是提示<em>error</em>: 不兼容的类型: java.lang.Object<em>无法</em>转<em>换为</em>T。 看了下是这段代码: public T getMapper(Class cls) throws Exception { return sqlSessionTemplate.getMapper(cls); } 出错直接原因: Object类型<em>无法</em>转<em>换为</em>泛型T
VC6.0转成VC2008可能出现的问题
9月23日BcgControlbar是个好东西——界面用解压缩 BCGControlBar.zip (比如,到 c:/bcg 目录中) 把 c:/bcg/bin 增加到你的 path 环境变量中, 运行 Visual C++ 并且打开 Tools | Options 对话框,切换到Directories 页并且把 c:/bcg/bcgcontrolbar 加入到 include 目录 中,把 c:/bcg/bin 加入 library 和 executable 目录中;
Unicode编码下CString、char*、BSTR相互转换,char*、wchar_t*相互转换
更多精彩内容,请见:http://www.16boke.com 1、Unicode编码下CString转为char* 方法一:使用API:WideCharToMultiByte进行转换 #include int _tmain(int argc, _TCHAR* argv[]) { CString cstr = _T("test测试"); //获取宽字节字符的大小,大小是按字节计算的 int len = WideCharToMultiByt
文章热词 js-ipfs-api-从IPFS读取数据 PHP从入门到精通 字节数组转string关系 数组特殊字符转字节 字节数组转string问题
相关热词 string转bstr vc++ c# long 转字符串 c++ long转字符串 c# long 日期转 从零学习人工智能 从零学习python
我们是很有底线的