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

resource.h中:#defineIDD_ABOUTBOX100#defineIDR_MAINFRAME128#defineIDR_PUZZLETYPE129#def... 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楼,看看宏定义名有没有跟库定义重复什么意思 ,怎么看
展开
 我来答
大宝妈谈教育
高粉答主

2020-05-05 · 关注我不会让你失望
知道小有建树答主
回答量:3306
采纳率:100%
帮助的人:55.1万
展开全部

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

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

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

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

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

方田555
推荐于2017-05-20 · TA获得超过1114个赞
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:55.9万
展开全部
但愿小弟能帮你三点,得到大哥认可:
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>定义。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友db582c3
2010-04-25 · TA获得超过1268个赞
知道答主
回答量:290
采纳率:0%
帮助的人:149万
展开全部
应该没问题的。。。你应该不至于没有包含资源头文件吧?关注。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
航空旅行者
2010-04-30
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
没看懂什么意思,学习中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朋寄车2906
2010-04-27
知道答主
回答量:42
采纳率:0%
帮助的人:20.8万
展开全部
学习中。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式