我得到的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中。

10-04 19:48