Visual C ++:错误C2664:'ReleaseDC':无法将参数1从'HDC'转换为'HWND'

时间:2011-11-11 20:09:47

标签: c++ visual-studio-2008

我想在Visual Studio 2008上编译an old (1998) implementation of Edge Collapse from Game Developer's Magazine(项目文件在“melax.zip”中压缩)。

在winmain.cpp的第390行,我得到以下编译错误:

winmain.cpp(390) : error C2664: 'ReleaseDC' : cannot convert parameter 1 from 'HDC' to 'HWND' 

再次在第439行。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:7)

ReleaseDC的参数在通话中被撤消 - 他调用ReleaseDC(hDC, hWnd),而correct signature

int ReleaseDC(
  __in  HWND hWnd,
  __in  HDC hDC
);

享受修复一个13岁的小虫:)

答案 1 :(得分:2)

上述行看起来像这样:

ReleaseDC(hDC, hWnd);

但是,函数ReleaseDC以倒序的顺序接受参数。