我正在使用两个IDE上的Forger的win32教程:Dev C ++和Visual Studio 2008.我尝试在两者中复制结果。
对于本教程的this页面,我似乎无法在Dev C ++中编译(Visual Studio工作正常)。这是一个模态对话框。相关代码位于WndProc
:
case ID_HELP_ABOUT:
int ret = DialogBox(GetModuleHandle(NULL),
MAKEINTRESOURCE(IDD_ABOUT),hwnd,AboutDlgProc); //ERROR OCCURS HERE in Dev C++
if(ret==IDOK) { MessageBox(NULL,"Dialog exited with OK","Notice",0); }
else { MessageBox(NULL,"Dialog exited with EXIT","Notice",0); }
break;
它抛出的错误是:
Simple3\main.c In function `WndProc':
Simple3\main.c syntax error before "int"
Simple3\main.c `ret' undeclared (first use in this function)
如果我在此之前定义int ret;
,它会编译,但会打开一个命令窗口和常规应用程序。
我认为我错过了一个标题。我正在使用的标头是windows.h
和afxres.h
。任何人都可以帮我吗?提前谢谢。
PS - 当我在它时真正容易的问题 - 在尖括号或引号中声明标题之间的区别是什么?例如。 <windows.h>
或"windows.h"
?
答案 0 :(得分:0)
有些编译器希望在Case语句和break之间添加花括号。尝试使用它。
我认为应该这样做。
除了关于&lt;&gt;和“”用于声明标题,尖括号表示将在IDE提到的默认包含目录中搜索该文件。当您希望在本地项目文件夹中搜索文件以及包含文件夹时使用“”。