error: expected '}' before numeric constant 编译错误解决方案

RT-Thread Studio编译错误及解决方法 阅读详情


近日在调试代码时遇到一个编译异常,如下所示:
error: expected '}' before numeric constant
对应的代码是一个数组,我使用了编译宏定义来区分不用的功能。
仔细检测了下代码没问题啊,怎么会提示这个异常。

后来分析发现,我把两个编译宏都打开了,去掉一个编译宏就正常了。


C语言新手必看:宏定义和函数参数重名,为啥会报‘expected ‘,‘ or ‘...‘ before numeric constant’? 本文深入解析C语言中宏定义与函数参数重名导致的编译错误`expected ',' or '...' before numeric constant`,提供多种解决方案和最佳实践,帮助新手避免类似问题。通过案例分析、预处理机制剖析和命名规范建议,提升代码质量和可维护性。 阅读详情

相关推荐

C语言新手必踩的坑:宏定义和函数参数重名引发的expected ‘,‘ or ‘...‘ before numeric constant报错详解

本文详细解析了C语言新手常见的宏定义与函数参数重名导致的'expected ',' or '...' before numeric constant'编译报错问题。通过实例代码和预处理机制分析,揭示了错误根源,并提供了三种实用的命名规范建议和开发工具使用技巧,帮助开发者避免类似陷阱。

weixin_30735745的博客 330

error: expected ‘)’ before numeric constant

一: 问题产生原因         今天在码代码的时候,遇到了很多重复的短小的语句。就想着使用Macro替换。这样在代码看来整洁,短小。可是很奇葩的一件事就是怎么将数字和字符串拼接在一起。参照了之前的前辈们的代码,然后就遇到了题目所示的特奇葩的错误。 二:调试过程      在度娘中游了一遍,只是在StackFlow上看了一篇,但是最终也没有给出错误的原因。无聊的将预编译的代码打印出

Toni 3万+

别再被这个C编译错误卡住了!手把手教你用GCC/Clang调试‘expected ‘,‘ or ‘...‘ before numeric constant’

本文深入解析C语言编译错误'expected ',' or '...' before numeric constant',揭示其常见触发场景如宏定义与函数参数命名冲突,并提供GCC/Clang调试技巧、IDE配置建议及命名规范等解决方案,帮助开发者高效排查此类编译报错问题。

weixin_30730053的博客 363

C [Error] expected ‘,‘ or ‘...‘ before numeric constant问题解决

[Error] expected ',' or '...' before numeric constant问题解决 宏重复定义问题

qq_39608796的博客 3万+

C: 编译错误:expected identifier or ‘(’ before numeric constant

文章目录错误原因 错误 字面意思,期望一个变量名(标识符),或者在数字常量前面期望一个左括号。 macro.c: In function ‘main’: macro.c:9:6: error: expected identifier or ‘(’ before numeric constant int PIPE_BUF = 0; ^~~~~~~~ 原因 在include linux/limits.h 之后,定义了一个PIPE_BUF 变量。但是在 limit.h 头文件里已经有一个PIPE

mzhan017的博客 1万+

TensorFlow GPU版本安装步骤-Windows系统

本文由在Windows下安装TensorFlow GPU版本教程-优快云等整理得到。 目录 1、确认显卡是否支持CUDA 1.1 查看显卡信息 打开“设备管理器”,查看显卡信息,如下图所示: 由上图知,本电脑的显卡为NVIDIA Quadro P400. 1.2 查看支持CUDA的显卡 网址:https://developer.nvidia.com/cuda-gpus 经查询可知,该显卡支持CUDA,如下图所示: 2、安装CUDA 2.1 下载CUDA 网址:https://developer.nvi

x_lingyun的专栏 766

一个奇葩的编译错误和解决方案------error: expected identifier before numeric constant

晚上写代码, 写着写着, 我擦, 突然出现一个编译错误: error: expected identifier before numeric constant, 搞得我莫名其妙。 最后, 通过“最小化”程序法, 锁定在一个include处: 加上这样就有问题, 去掉这样就没有问题。        是在找不到设么原因, 去网上查了一下, 原来是枚举冲突了。 也就是两个第三方库的枚举冲突了! 我勒个

认知 行动 坚持 3万+

车载摄像头+max96712 + rk3568 调试过程中遇到的问题

本文主要讲述本人在调试rk3568通过mipi-csi2链接max967812,max96712再外接4路车载摄像头过程中遇到的问题,以及最终如何解决这些问题。图中会贴上很多重要且关键的波形图,以便读者在调试过程中进行比对,分析。 如果在调试过程中,mipi总线上的波形没得什么问题的话,还是抓图失败的情况下,需要着重检查 频率,lane数,摄像头分辨率,摄像头输入图像格式等重要配置。

Amelio Ming 2066

Tina编译报错:<command-line>: error: expected identifier or ‘(‘ before numeric constant

枚举冲突

houxiaoni01的博客 2553

USB接口ESD保护电路:深度剖析与选型建议

USB接口在热插拔和频繁使用中极易遭遇静电放电(ESD)冲击,导致芯片损坏或通信异常。本文结合实际电路设计经验,详解TVS二极管、集成ESD防护器件等方案在USB接口上的应用要点,重点分析钳位电压、结电容、IEC 61000-4-2等级等关键参数对信号完整性与防护效果的影响,助你为USB接口匹配高可靠、低干扰的ESD保护方案。

weixin_36289813的博客 510

从接线到组态:手把手教你搞定PROFIBUS-DP与PA的混合网络搭建(基于西门子TIA Portal)

本文详细介绍了PROFIBUS-DP与PA混合网络的搭建方法,基于西门子TIA Portal平台,从硬件选型、网络架构设计到组态配置和现场调试,提供了一套完整的实战指南。重点解析了DP/PA耦合器的使用、地址映射策略及网络诊断技巧,帮助工程师高效构建高可靠性的工业自动化网络。

weixin_32103009的博客 302

error: expected identifier or '(' before numeric constant错误解决

在程序编译的时候,发现了error: expected identifier or '(' before numeric constant错误。从网络上查询,发现是difine的变量被滥用导致的。 例如 #define a 0.24 enum VARIABLE { ... a,//错误类型1 ... } int main() { double a;//错误类型2 } 被defi...

abcdefg088的博客 2万+

【100%通过率】华为od统一考试B卷【查找接口成功率最优时间段】Python 实现

服务之间交换的接口成功率作为服务调用关键质量特性,某个时间段内的接口失败率使用一个数组表示,数组中每个元素都是单位时间内失败率数值,数组中的数值为0~100的整数, 给定一个数值(minAverageLost)表示某个时间段内平均失败率容忍值,即平均失败率小于等于minAverageLost,找出数组中最长时间段,如果未找到则直接返回NULL。

MISAYAONE的博客 5870

expected identifier before numeric constant错误

error: expected identifier before numeric constant错误。 原因:定义的enum结构体与其它处的宏定义有冲突。 比如 a.h中:     ....      #define TRUE 1    ..... b.h中:    .....     typedef enum     {         FALSE=0,

水一方的专栏 5万+

DMC-E 系列总线控制卡----雷赛板卡介绍(十七)

低的速度平稳地接近目标位置,降低运动部件对接触点的冲击。设置插补目标位置,插补方向,以确定插补动作。圆形区域限位,即运动仅在用户设定的圆形范围内进行,超出这个范围,运动会依据设定。首先,用户需要绑定两个轴进而确定该功能所处的坐标系。仅支持平面圆形限位,不支持空间圆形限位。径,可以确定该区域在坐标系中的位置。)运动开始前,用户应当将旋转轴调整到与插补曲线的起点位置相切的角度;可以配合椭圆插补或圆弧插补运动,实现跟随轴的旋转运动角度与曲线当前。外,其它运动形式若开始运动时在限位区域外,则禁止运动;

A_nanda的博客 653

RK356x U-Boot研究所(命令篇)3.7 pci与nvme命令的用法

RK356x U-Boot研究所(命令篇)3.7 pci与nvme命令的用法

Systemcall名屋 2084

【error】expected identifier or ‘(’ before numeric constant

expected identifier or ‘(’ before numeric constant define has two definations

我的博客 3551

PX4从放弃到精通(三):使用qt编译PX4

1 下载px4源码 2在Firmware所在目录下执行 mkdir Firmware-build cd Firmware-build cmake …/Firmware -G “CodeBlocks - Unix Makefiles” -DCONFIG=nuttx_px4_fmu-v5_default 第三步最后的px4_fmu-v5_default根据自己的情况修改 执行完后如图 打开QT 点击打开工程 选择源码的CmakeLists.txt文件 选择imported Kit 打开项目那一栏,构建目

超维空间科技的博客 1万+

Linux系统下c语言编译错误:Error:expected identifier before numeric constant

  今天在 Ubuntu16.04.1系统下编译程序的时候出现了编译错误:Error:expected identifier before numeric constant,这一下搞得我一头雾水,不知所措,菜鸟啊!!!   我在网上查了一下,有部分博客提到出现此错误的原因是某个宏定义的标识符同时也是某个枚举类型的枚举元素或枚举常量。举例说明如下:  #define M_REGISTER 10 ...

caoleiwe的博客 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C++ - expected identifier before numeric constant

C++ - expected identifier before numeric constant 1. Build log -------------- Build: Debug in Bubble (compiler: GNU GCC Compiler)--------------- g++ -Wall -std=c++11 -fexceptions -rdynamic -DUSE_OPENCV -g -std=c++11 -I/usr/local/include/opencv4 -Irapidjso

程永强 3516

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

错误expected identifier before numeric constant

刷题时报错:expected identifier before numeric constant 原因:C++类体里,方法以外的区域不允许有初始化;类的数据成员在定义时不能初始化,否则就违背了面向对象抽象的特点 ...

weixin_42272882的博客 2120

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

“expected unqualified-id before numeric constant ”

<br />linux gcc 编译出错   “expected unqualified-id before numeric constant ”<br />原因很可能是所有大写的名字常常被用于预处理宏, <br />不尊重命名空间范围,所以即使你在自己的命名空间上定义也会产生冲突。<br />可以采用条件编译来测试你所定义的常量是否已被定义。<br />#ifdef  XXX<br />   code <br />#endif<br /> 因此这样的名称应 一般应避免的一切。<br />例:<br />原

typename 记录点滴 2万+

C语言新手必踩的坑:宏定义和函数参数重名引发的[Error] expected ‘,‘ or ‘...‘ before numeric constant

本文深入解析C语言中宏定义与函数参数重名导致的`[Error] expected ',' or '...' before numeric constant`编译报错问题。通过典型案例分析、预处理机制解读和系统性解决方案,帮助开发者避免这一常见陷阱,提升代码质量。

weixin_30781107的博客 354

C :expected identifier before numeric constant

今天在写类的时候遇到一个bug,代码如下 class Solution { public: vector<int> v(10);//报错 }; 显示报错expected identifier before numeric constant。其实就是毫无卵用的报错,问题出在类的方法外不可以调用构造函数初始化,可以用简单的初始化。 ...

Cold_Sun_的博客 1573

错误:error: expected identifier before numeric constant

我一开始定义二维数组初始化的时候,我是这样写的: 编译器给我报错: 应该可以这样修改: 我这样修改之后编译就通过了。应该是需要我们在声明的时候需要在写一遍我们要赋值的类型,这样编译器才知道如何赋值。如上就是本篇的所有知识,如果大家喜欢看此文章并且有收获,可以支持下博主,给博主三连加关注,你的关注是对我最大的鼓励,也是我的创作动力~! 感谢大家对文章的支持呀!......

xiatutut的博客 2337

c++ error: expected ‘,‘ or ‘...‘ before numeric constant|

还是关于宏的问题,在条件编译的时候,不要将#if的常量表达式提到文件包含之前,放在其后便不会报错: #include <iostream> #define flag 1 //#if 的常量表达式 #define PI 3.14 using namespace std; int main() { double radius,sr,a,ss; #if flag //根据常量表达式的真假对不同的程序块进行编译 // {

npu2017373030的博客 5001
上一篇: uboot出现data abort异常
下一篇: 高通 Android7.1 OTA编译异常解决
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值