用视图按扭调用对话框,却发现编译老是出错:
e:\learn\vc\autooffice\checkdlg.h(21) : error C2065: 'IDD_CHECK' : undeclared identifier
e:\learn\vc\autooffice\checkdlg.h(21) : error C2057: expected constant expression
Error executing cl.exe.
在对话框构造函数中出错,具体语句为:enum { IDD = IDD_CHECK };
其中:IDD_CHECK为对话框的ID.我发现在resource.h中已有相应ID定义,在rc文件中也有说明.
更莫明其妙的是:一次为了测这个问题,新建了对话框,在property中改名,ID与rc中的不一样, 居然却可以有用!
改IDD_CHECK也用不了.
谁能告诉我问题出在哪了?

解决方案 »

  1.   

    在checkdlg.h中是不是没有#include resource.h
      

  2.   

    'IDD_CHECK' 可能在别处已经使用了,
    起名字时避免再起和它相同的名字
      

  3.   

    看是不是重复引用了resource.h?
      

  4.   

    我在checkdlg.h中加入了#include resource.h,这回没问题了,但对话框还是。出不来,
      

  5.   

    真的。
    在.rc中有IDD_CHECK DIALOGEX 0, 0, 384, 219
    在resource.h中有#define IDD_CHECK                       131
    在checkDlg.h中有enum { IDD =IDD_CHECK};
    调用
    void CAutoOfficeView::OnBtnCheckin() 
    {
    // TODO: Add your command handler code here
    AfxMessageBox ("Is CHeck?");
    CCheckDlg checkDlg;
    checkDlg.DoModal();
    }就是出不来对话框!
      

  6.   

    我已在stdafx.h中加入了#include resource.h,#include "checkdlg.h"但还是解决不了问题。对话框不能显。