我得到的CImage图片不允许输入不完整的类型;
我用这个:
什么地方出了错?我以前从未上过课。
using namespace std;
class CImage;
myfunction(hbitmap bmp)
{
CImage image;
image.Attach(bmp);
image.Save("filename.jpg");
}
最佳答案
class CImage;
是一个前向声明,它告诉编译器存在一个名为CImage
的类,但不定义该类的定义方式(因此类型不完整)。
您需要包括定义CImage
类的头文件。
尝试使用#include <atlimage.h>
代替class CImage;
从MSDN CImage class ducumentation:
使用CImage
创建项目时,必须在包含CString
之前定义atlimage.h
。如果您的项目使用不带MFC的ATL,则在包含atlstr.h
之前先包含atlimage.h
。如果您的项目使用MFC(或者它是具有MFC支持的ATL项目),则在包含afxstr.h
之前先包含atlimage.h
。
同样,在包含atlimage.h
之前必须包含atlimpl.cpp
。要轻松完成此操作,请将atlimage.h
包含在stdafx.h
中。