**dlg.h(21) : error C2065: 'IDD_DIALOG_SEPVER' : 定義されていない識別子です。
**dlg.h(21) : error C2057: 定数式が必要です。
というエラーがでたのですが、
ダイアログをリソースエディタで作ってクラスをわかせただけでまだなにも触ってない
のに
こんなエラーがでたのですが、どうしたらよいかわかりますでしょうか?
よろしくお願いします。
すいません。環境をかいてませんでした。
環境は
WIN XP,VC++6.0です。MFCです。
ダイアログのIDが
IDD_DIALOG_SEPVER とは違うんぢゃない?
後から変更を加えませんでしたか?
ダイアログリソースで「プロパティ」-「一般」タブのIDと一致しているか
確認しましょう。
確認しましたが、一致していました。変更はありません。
ほかになにか考えられる原因はありませんか?
**dlg.hをインクルードしてないとか
ちなみに「クラスをわかせる」とはどういう意味?
クラスを新規作成でつくったってことです<わかせる
すいません。
ちなみにヘッダーはインクルードしてあります。
>**dlg.hをインクルードしてないとか
**dlg.hでエラーが出ているんだから、そうではないか。
普通、IDはresource.hで定義されていますよね。
で、それは例えばプロジェクト名がtestならtest.hでインクルードされていますよね。
つまり**dlg.hをインクルードする前にtest.hをインクルードする必要があります。
違うかな...。
>**dlg.h(21) : error C2065: 'IDD_DIALOG_SEPVER' : 定義されていない識別子です。
>**dlg.h(21) : error C2057: 定数式が必要です。
おそらく、**dlg.hの21行目は
// ダイアログ データ
//{{AFX_DATA(CSepverDlg)
enum { IDD = IDD_DIALOG_SEPVER }; // ←21行目
// メモ: ClassWizard はこの位置にデータ メンバを追加します。
//}}AFX_DATA
だと思いますが、ここでエラーがでるとなるとやはり resource.h を(誤って)変更してしま
ったのかもしれないですね。resource.hを見てみるといいかもしれません。
resource.h 内に
#define IDD_DIALOG_SEPVER 数値
という記述はありますか?
> //{{AFX_DATA(CSepverDlg)
↓
//{{AFX_DATA(作ったクラス名)
の間違いでした。
「予約語」をリソースの中で使っていませんか?
僕も前にそのようなメッセージがでて、
IDを変更したら元に戻りました。
ありがとうございました。
本当に些細な間違いでした。
標準関数だけを集めた?ところにそのダイアログのヘッダーをインクルード
していたのを消したらなおっちゃいました。
ご迷惑をおかけしました。