0

我正在两个 IDE 上完成 Forger 的 win32 教程:Dev C++ 和 Visual Studio 2008。我尝试在两者中复制结果。

对于本教程的这一页,我似乎无法在 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.hafxres.h。谁能帮帮我?提前致谢。

PS - 真正简单的问题 - 在尖括号或引号中声明标题有什么区别?例如<windows.h>"windows.h"

4

1 回答 1

0

一些编译器希望在 Case 语句和 break 之间添加花括号。尝试使用它。

我认为它应该这样工作。

除了 <> 和 "" 用于声明头文件外,尖括号表示将在 IDE 提到的默认包含目录中搜索文件。而当您希望在本地项目文件夹以及包含文件夹中搜索文件时使用“”。

于 2010-10-28T00:26:34.013 回答