error C2015: too many characters in constant

本文详细解读了C++中字符常量中的字符数量限制问题,包括错误分析、案例演示以及警告信息解释。通过具体实例帮助开发者理解并避免常见错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编号:C2015

直译:字符常量中的字符太多了。

错误分析:

单引号表示字符型常量。

一般的,单引号中必须有,也只能有一个字符(使用转义符时,转义符所表示的字符当作一个字符看待),如果单引号中的字符数多于4个,就会引发这个错误。

另外,如果语句中某个字符常量缺少右边的单引号,也会引发这个错误,例如:if (x == 'x || x == 'y') { … }

如果单引号中的字符数是4个以内,编译不报错,但会给出警告 :  warning C4305: 'initializing' : truncation from 'const int' to 'char'

                                                                                                                     warning C4309: 'initializing' : truncation of constant value

案例:

#include<stdio.h>
int main()
{
    char a='aaaaa';
	printf("%c\n",a);
	return 0;
}


*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\qianrushi.app\ARM\bianyiqi\Bin' compiling ds18b20.c... ds18b20.h(1): error: #77-D: this declaration has no storage class or type specifier *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\qianrushi.app\ARM\bianyiqi\Bin' ds18b20.h(1): error: #65: expected a ";" *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\qianrushi.app\ARM\bianyiqi\Bin' ds18b20.h(1): error: #26: too many characters in character constant *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\qianrushi.app\ARM\bianyiqi\Bin' ds18b20.h(1): warning: #192-D: unrecognized character escape sequence *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\qianrushi.app\ARM\bianyiqi\Bin' ds18b20.h(1): warning: #192-D: unrecognized character escape sequence *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\qianrushi.app\ARM\bianyiqi\Bin' ds18b20.h(1): warning: #192-D: unrecognized character escape sequence *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\qianrushi.app\ARM\bianyiqi\Bin' ds18b20.h(1): error: #26: too many characters in character constant *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\qianrushi.app\ARM\bianyiqi\Bin' ds18b20.h(3): error: #10: "#" not expected here ds18b20.c(67): error: #254: type name is not allowed ds18b20.h(5): error: #10: "#" not expected here ds18b20.c(67): error: #65: expected a ";" ds18b20.h(7): error: #10: "#" not expected here ds18b20.c(67): error: #20: identifier "i" is undefined ds18b20.h(9): error: #10: "#" not expected here ds18b20.c(99): error: #254: type name is not allowed ds18b20.h(11): error: #10: "#" not expected here ds18b20.c(99): error: #65: expected a ";" ds18b20.h(13): error: #10: "#" not expected here ds18b20.c(99): error: #20: identifier "i" is undefined ds18b20.h(15): error: #10: "#" not expected here ds18b20.c(181): error: #254: type name is not allowed ds18b20.h(17): error: #10: "#" not expected here ds18b20.c(181): error: #65: expected a ";" ds18b20.h(19): error: #10: "#" not expected here ds18b20.c(181): error: #20: identifier "i" is undefined ds18b20.h(22): warning: #1-D: last line of file ends without a newline "ds18b20.c" - 9 Error(s), 0 Warning(s). ds18b20.c(52): warning: #12-D: parsing restarts here after previous syntax error delay_us(400); ds18b20.c(53): error: #169: expected a declaration return 0; // ??? ds18b20.c(54): error: #169: expected a declaration } ds18b20.c(131): warning: #12-D: parsing restarts here after previous syntax error delay_us(55); // ?????? ds18b20.c(132): error: #169: expected a declaration } ds18b20.c(135): error: #169: expected a declaration } ds18b20.c(184): warning: #12-D: parsing restarts here after previous syntax error return temperature; ds18b20.c(185): error: #169: expected a declaration } ds18b20.c: 7 warnings, 18 errors "ds18b20.c" - 18 Error(s), 7 Warning(s).
最新发布
06-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值