c++ error C2664: “LoadResImage”: 不能将参数 2 从“Gdiplus::Bitmap *”转换为“Gdiplus::Image *&
调用的代码:Bitmapbmp(L"resource\\Close.png");LoadResImage(IDB_PNG_CLOSE,&bmp);调用函数原型:boolL...
调用的代码:
Bitmap bmp(L"resource\\Close.png");
LoadResImage(IDB_PNG_CLOSE,&bmp);
调用函数原型:
bool LoadResImage(int nResID,Image *&lpImage);
错误提示:
error C2664: “LoadResImage”: 不能将参数 2 从“Gdiplus::Bitmap *”转换为“Gdiplus::Image *&”
问*&是什么,怎么修改代码
我开始错了,调用的代码:
Bitmap bmp;
LoadResImage(IDB_PNG_CLOSE,&bmp); 展开
Bitmap bmp(L"resource\\Close.png");
LoadResImage(IDB_PNG_CLOSE,&bmp);
调用函数原型:
bool LoadResImage(int nResID,Image *&lpImage);
错误提示:
error C2664: “LoadResImage”: 不能将参数 2 从“Gdiplus::Bitmap *”转换为“Gdiplus::Image *&”
问*&是什么,怎么修改代码
我开始错了,调用的代码:
Bitmap bmp;
LoadResImage(IDB_PNG_CLOSE,&bmp); 展开
2个回答
展开全部
这些样写试试 ;
Bitmap *pBitmap = new Bitmap(L"resource\\Close.png");
LoadResImage(IDB_PNG_CLOSE,&pBitmap);
delete pBitmap;
Bitmap *pBitmap = new Bitmap(L"resource\\Close.png");
LoadResImage(IDB_PNG_CLOSE,&pBitmap);
delete pBitmap;
追问
这样对了,为什么要动态创建呢
追答
不动态创建也可以的;
LoadResImage 第2个参数是指向的Bitmap的指针的指针;
那么我们也可以这么做
Bitmap Bmp(L"resource\\Close.png"); // 第1步:bmp对象初始化
Bitmap * pBmp = &Bmp ; // 第2步:创建一个Bitmap的指针pBmp让他指向bmp的地址;
LoadResImage(IDB_PNG_CLOSE,&pBitmap); // 第3步参数2填写&pBitmap 这样就是指向指针的指针了....!! 一般这种指针的指针都是考虑安全性才怎么设计的!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*& *代表这是一个指针类型
&是取IpImage对象的地址 这个就是双重指针的应用
你在调用函数里再加上一个&试试
&是取IpImage对象的地址 这个就是双重指针的应用
你在调用函数里再加上一个&试试
更多追问追答
追问
去掉以后有其他问题
lpImage=Gdiplus::Image::FromStream(pstm);
这是个指针,直接赋值,去掉以后有问题
追答
刚才看错了 我把回答又重新提交了一份 你再看看
或者你在定义的时候这样定义Bitmap *bmp(L"resource\\Close.png");
定义成指针类型 然后调用函数其他不变
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询