C++中定义一个常量但是不能引用的问题

我用#define定义的常量,但是在函数中引用的时候只能给变量赋值,而不能作为for循环中使用,也不能字数组定义中使用,比如for(i=0;i<MAX;i++),inta... 我用#define定义的常量,但是在函数中引用的时候只能给变量赋值,而不能作为for循环中使用,也不能字数组定义中使用,比如for(i=0;i<MAX;i++) ,int a[MAX] MAX是定义的常量,这样引用的时候编译就会出错,提示括号不匹配,问了2回问题了,因为自己书写例子失误导致回答的都不是想要的,虽然我不是专业的程序员,但是一些比如少写;关键字写错等一些基本问题我还是能解决的。所以一些基本的错误各位就不必考虑了。 展开
 我来答
enochwills
2011-01-11 · TA获得超过4793个赞
知道大有可为答主
回答量:2031
采纳率:96%
帮助的人:1651万
展开全部
#define 纯粹就是符号替换,你自己试试,把#define MAX这一行删掉,然后用VC编辑器中的”替换“功能,把MAX这个词完全替换成目标常量,比如#define MAX 256,你就替换成256试试,看看到底什么问题,编译器做的工作和你手工做的工作是完全一样的,既然你那么不服气就试试好了。

另外一点,不要轻易用太通用的符号词,比如MAX,谁知道会和哪个include库冲突呢?你可以用一些比较个性化的词汇,比如BaiSuperMax之类,冲突的几率就很小了

括号不匹配在半吊子程序员中比较常见的是把符号写错,比如.和,不分,;和,不分,:和;不分。我见过一美女调程序三天三夜搞不定的,五千行程序找不出问题,编译器还通过了!一运行就死机的,就是把分号写成逗号了。C++符号系统比C语言符号系统复杂很多,想用C++就得耐心,没办法。
cws_relent
2011-01-11 · TA获得超过184个赞
知道答主
回答量:120
采纳率:0%
帮助的人:102万
展开全部
首先呢,用#define定义的不能称之为常量,应该是宏定义,常量是用const来定义的。

出现你说的原因可是是因为你在#define语句后面加了";",#define语句后面是不能加分号的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
第八个语言
2011-01-11
知道答主
回答量:43
采纳率:0%
帮助的人:48.3万
展开全部
把代码贴出来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式