错误 C1017

02/21/2013

本文内容

无效的整数常数表达式

#if 指令中的表达式不存在或者计算结果不为常数。

用 #define 定义的常数在 #if、#elif 或 #else 指令中使用时必须具有计算结果为整数常数的值。

下面的示例生成 C1017:

// C1017.cpp

#define CONSTANT_NAME "YES"

#if CONSTANT_NAME // C1017

#endif

可能的解决方案:

// C1017b.cpp

// compile with: /c

#define CONSTANT_NAME 1

#if CONSTANT_NAME

#endif

因为 CONSTANT_NAME 计算结果为字符串而不是整数,所以 #if 指令生成错误 C1017。

在其他情况中,预处理器将未定义的常数作为零进行计算。这可能导致意外的结果,如下例中所示。因为未定义 YES,所以它的计算结果为零。表达式 #if CONSTANT_NAME 计算结果为 false,而要对 YES 使用的代码由预处理器移除。由于 NO 也未定义(零),因此 #elif CONSTANT_NAME==NO 计算结果为 true (0 == 0),导致预处理器将代码保留在语句的 #elif 部分(与预期的行为完全相反)。

// C1017c.cpp

// compile with: /c

#define CONSTANT_NAME YES

#if CONSTANT_NAME

// Code to use on YES...

#elif CONSTANT_NAME==NO

// Code to use on NO...

#endif

若要确切了解编译器如何处理预处理器指令,请使用 /P、/E 或 /EP。

c语言1017错误什么意思,错误 C1017相关推荐

  1. R语言构建随机森林模型错误解决:Error in y - ymean : non-numeric argument to binary operator

    R语言构建随机森林模型错误解决:Error in y - ymean : non-numeric argument to binary operator 目录 R语言构建随机森林模型错误解决:Erro ...

  2. python语言包含的错误,Python语言程序中包含的错误,一般分为三种,以下____________不是其中的一种...

    Python语言程序中包含的错误,一般分为三种,以下____________不是其中的一种 答:编译错误 人体体温能自动调控在37度,其原因是( ). 答:人体内产生的热能是分批放出的 人体内有完善的 ...

  3. let/var——事实上var的设计可以看成JavaScript语言设计上的错误. 但是这种错误多半不能修复和移除, 以为需要向后兼容.||将let看成更完美的var

    事实上var的设计可以看成JavaScript语言设计上的错误. 但是这种错误多半不能修复和移除, 以为需要向后兼容. 大概十年前, Brendan Eich就决定修复这个问题, 于是他添加了一个新的 ...

  4. java语言避免了大多数的什么_Java 语言避免了大多数的▁错误。( )_学小易找答案...

    [单选题]11. 已知英文字母m的ASCII码值为6DH,那么ASCII码值为71H的英文字母是 ( D ) . [判断题] 个人努力对于改善命运毫无意义. [单选题]5. 现代微型计算机所采用的电 ...

  5. java语言的数组描述_下列关于Java语言的数组描述中,错误的是()。_学小易找答案...

    [单选题]下面()是正确的main()方法说明. [填空题]Java规定,如果子类中定义的成员方法与父类中定义的成员方法同名,并且参数的( )和类型以及( )的类型也相同,则父类中的同名成员方法被屏蔽 ...

  6. 写c语言会出现哪些常见错误,C语言编写常见错误

    C51语言编写常见错误 一.循环 1).在进行while,do...while循环时要对while括号里面的变量赋初值,否则可能出现的不是自己想要的结果. 2).在写for循环语句中,特别要注意括号里 ...

  7. 打码(C语言)常见粗心小错误 (前方高能,一定要点)

    打码(C语言)常见粗心小错误 标签(空格分隔): 博客 自我介绍 本人学院 (http://sdcs.sysu.edu.cn/) 欢迎访问 本人学号 16340213 目录 打码C语言常见粗心小错误 ...

  8. 每个c语言程序文件的编译错误被分为什么,已打印中央电大C语言考试题库(c语言小题+编程)...

    C语言程序设计课程期末复习练习 一.单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( A ). A. main B. MAIN C. name D. function 2.每 ...

  9. C语言中的语法错误和语义错误

    语法错误 1:如果不遵循C语言的规则就会犯语法错误,它类似于英语中的语法错误. 例如(Bugs frustrate be can)这句英语 可以看出句子中的英语单词都是正确的,但是没有按照正确的顺序组 ...

  10. c语言出现了语法错误能编译吗,如何调试C程序的语法错误和逻辑错误

    如何调试C程序的语法错误和逻辑错误 语法错误] 语法错误,这是C语言初学者出现最多的错误,比如,分号":"是每个C语句的结束的标志,在C语句后忘记写":"就是语 ...

最新文章

  1. 对于后端来说,一个项目究竟应该怎么做
  2. Debian 9.x “stretch“ 解决 /etc/rc.local 开机启动问题
  3. 信号通路怎么读_奥利给~~代谢通路富集分析原来还可以这么做?
  4. Day03-卷积神经网络原理与使用
  5. OpenCV HoG描述符的实例(附完整代码)
  6. 洛谷 P2596 [ZJOI2006]书架 (splay)
  7. 项目中的模块剥离成项目_使用MCEBuddy 2从电视录制中剥离广告
  8. cloud一分钟 | 腾讯云联手斗鱼、虎牙两大头部游戏直播平台开启 定制道具的创新互动...
  9. 【转载】要有梦想-创造卓越的职业生涯
  10. docker下使用redis
  11. java int biginteger_[十六]基础类型BigInteger简介
  12. 大数据、物联网、AI 等技术正当时!
  13. python连接hive kerberos_数据库开发实战教程:使用Python连接Kerberos的Presto
  14. dexposed框架Android在线热修复
  15. 【沧小海笔记】之基于FPGA的以太网设计相关知识——第一章 互联网概述
  16. PDF怎么拆分/合并? 3款 PDF 拆分和合并工具分享
  17. 从零开始搭建仿抖音短视频APP-开发用户业务模块(3)
  18. python仿360界面_python实现360的字符显示界面
  19. 系统时钟的时钟源选择
  20. (三十三 :2021.01.12)MICCAI 2016 追踪之论文纲要

热门文章

  1. linux centos 7安装极点五笔输入法
  2. .Trash-1001 and .Trash
  3. NAO机器人——运动控制(3)
  4. 南加大计算机本科学费,南加州大学学费多少 本科研究生学费介绍
  5. android学习十八(Service服务的基本用法)
  6. 手游代理怎么做?看看这些就知道了
  7. Android开发——跳转到应用商店以及app详情页、获取手机硬件信息、验证app是否存在
  8. B - Blurred Pictures 二分+小细节(眼睛大)
  9. Python-matplotlib plt.tick_params参数解析
  10. Java高级---集合