C++如何声明标识符,急~~~~

resource.h中:
#define IDD_ABOUTBOX 100
#define IDR_MAINFRAME 128
#define IDR_PUZZLETYPE 129
#define IDD_QUESTION 135

错误在Question.h中:
public:
CQuestion(CWnd* pParent = NULL); // standard constructor

// Dialog Data
//{{AFX_DATA(CQuestion)
enum { IDD = IDD_QUESTION };
int m_nAnswer;
CString m_strQuestion;
e:\学习资料\c++\puzzlecard256\question.h(21) : error C2065: 'IDD_QUESTION' : undeclared identifier
e:\学习资料\c++\puzzlecard256\question.h(21) : error C2057: expected constant expression
希望有详细操作
何为包含资源头文件??
2楼,看看宏定义名有没有跟库定义重复什么意思 ,怎么看

1.写法语时,必须有函数、变量等名称,这个名称叫做标识符100,在c++中有标识符命名规则。

2.标识符只能由字母、数字、下划线组成;标识符的第一个字母必须是一个字母和一个下划线。

3.标识符辨别要求大小写字母,如If和If是两个完全不同的标识符。该标识符与法语中具有特殊含义的关键字不一样,与用户风格的函数名不一样,与C语言版本的库函数相同。

4.在法语中,不应该为了识别而重复所有类型的标识符。在决定变量名和其他标识符时,要注意“通过名称了解其含义”。

5.然后运行程序,就完成了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-05-20
但愿小弟能帮你三点,得到大哥认可:
1.标识符申明
2.宏定义名跟库定义重复的意思
3.包含资源头文件

【1】标识符申明:
1.预处理使用的宏定义define:
格式:#define 标识符 常量
举例:#define Max 8//该文件程序中,所有的Max=8
2.常量标识符定义const:
格式:const 变量类型 标识符=常量;
举例:const int Max=8;//该文件程序中,所有的整型变量Max=8
评价:与常量标识符定义相比,预处理不需申明变量类型,优先执行
3.标识符类型定义typedef:
格式:typedef 标识符 变量类型;
举例:typedef IDE int;
IDE a=5;
//该文件程序中,所有int都可用IDE代替:“IDE a=5;”等价于“int a=5;”

【2】宏定义名跟库定义重复的意思:
打个比方:
有人说,我想定义一个叫“int”的变量,使之等于5:
人理解为:“定义一个叫int的变量为整型变量,并赋值5”:int int=5;

结果发现:两个int字形都是粗体,要求不成功。

原因是:int是专用标识符,作用是定义他量,不能充当变量名;
当电脑见到它时,就知道要执行定义他量的命令。由此说来:
int int=5;程序理解为:“定义一个定义一个?为整型变量为整型变量,并给?赋值5”即:int int 空标识符=5;故不成功。

同理,宏定义名跟库定义重复的意思是:
某一个宏定义名也是某个库中的“专利名词”,它本身已有含义和功能。
并且开启该功能需使用该库对其声明,这就要用头文件。

【3】包含资源头文件:
资源头文件是特殊的、被“封装”(保密)了的C++文件。
用#include包含它就可以使用它的功能:
#include<stdio.h>后,就可以使用被定义的printf函数了。
如E:\Dev-Cpp\include中“stdio.h”文件中内容:
extern "C"{
......(不相关的内容我就省略了)
_CRTIMP int __cdecl printf (const char*, ...);
......(不相关的内容我就省略了)
}
上述文件,定义了printf的名称及使用功能和格式。所以,当你包含它就可以使用它的功能,因为它的功能是在资源头文件定义的。
你不包含它时,它如果不是“专利名词”就没有意义,可以当一般变量定义:
int printf=5;//该句合法:printf不是“专利名词”,且未被#include<stdio.h>定义。本回答被网友采纳
第2个回答  2010-04-25
应该没问题的。。。你应该不至于没有包含资源头文件吧?关注。。。
第3个回答  2010-04-30
没看懂什么意思,学习中
第4个回答  2010-04-27
学习中。。。。。
相似回答