fatal error C1020:意外的#endif,意外的#else,LF/CRLF问题,与异常的编译错误

在正常的代码的情况下,出现上述的错误或者是奇怪的错误,或者是不应该报错的地方,基本上都可以认为是文件编码的问题。问题说起来也十分简单,但是真正遇到问题时,确实十分沮丧。对于编码的问题,可能有两个方面的问题,严谨的讲,是包括但是不限于以下的两种常见编码问题:

1- 注释的编码问题,尤其特指中文注释

错误的编码方式:

/*此处是注释*/

正确的编码方式:

/* 此处是注释 */

需要在/**/前后增加空格,这是因为文件编码的问题,将会导致部分编译器无法正确的识别注释符号,这将导致编译器找不到匹配的/**/,或者认为混入了其他的无法识别的编码,从而带来各种异常编译报错

2- LF/CRLF问题

在windows中编译,需要配置为CRLF模式

在linux中编译,需要配置为LF模式

错误的文件行尾序号将会导致双斜杠的注释代码段不能被编译器正确的换行,换言之即丢失了部分的代码段,自然也会有莫名其妙的错误。

配置方法如下,在VScode右下角有对应的选项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值