【问题描述】

1.文件test.cpp,使用major做变量名的完整代码如下:

1 #include <fstream>
2
3 struct Header {
4   int major;
5
6   Header(int mj)
7     : major(mj)  { }
8 };
9 int main(){}

2.在g++ 编译时,会产生如下错误:

/data # g++ test.cpp
test.cpp: In constructor ‘Header::Header(int)’:
test.cpp:8: error: class ‘Header’ does not have any field named ‘gnu_dev_major’

【原因分析】

  查阅资料发现:当在结构体内定义一个变量major,并使用参数列表major()进行初始化的时候,会和C++标准文件中定义的宏冲突,编译产生错误。具体参考 GCC Bugzilla – Bug 17130(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=17130)

【解决办法】

  增加代码"#undef major"即可解决:

#include <fstream>#undef majorstruct Header {int major;Header(int mj): major(mj)  { }
};
int main(){}

转载于:https://www.cnblogs.com/ackhan/p/7457591.html

C++使用major做变量名的问题相关推荐

  1. python的变量名有哪些_【python字符串做变量名的方法有哪些?这些方法对python应用很重要】- 环球网校...

    [摘要]python的功能都是建立在代码之上的,不过你知道python字符串做变量名的方法有哪些?这些方法对python应用很重要,如果你想学好python,那么本文内容一定要自己试试,毕竟实践出真知 ...

  2. python遍历字典键值做变量名 字符串做变量名

    目录 1. exec 2. vars() 3. 全局变量globals() 感谢! [简书]Python中如何将字符串作为变量名 1. exec exec执行字符串命令.目前var和globals都不 ...

  3. 开源神器!答应我,别再用 abc 做变量名了好么!

    有一种痛,不是程序员可能不懂,但如果是程序员一定懂,那就是给变量或函数命名. 回想一下起名字这条路,刚开始学某个编程语言的时候,26 个字母还能解决问题,26 个不够还能用字母与数字的组合

  4. 不用 is 做变量名前缀 生成代码会漏掉 is字符串

    使用IDEA 生成get/set方法 会丢失"is"字符串  使框架均无法获取该属性

  5. python变量区分大小写吗_Python变量名是不是区分大小写的

    Python变量名是不是区分大小写的 发布时间:2020-11-10 14:13:23 来源:亿速云 阅读:95 作者:小新 Python变量名是不是区分大小写的?这个问题可能是我们日常学习或工作经常 ...

  6. python变量名区分大小写_python变量名要不要区分大小写

    python变量名要不要区分大小写 发布时间:2020-11-23 11:40:34 来源:亿速云 阅读:106 作者:小新 小编给大家分享一下python变量名要不要区分大小写,相信大部分人都还不怎 ...

  7. Javascript变量名混淆细节

    前言 UglifyJS会对JS文件的变量名进行混淆处理.要理解Javascript变量混淆的细节.我们须要回答下面几个问题: 1.遇到一个变量myName,我们怎么知道这个myName变量要不要混淆 ...

  8. 可用作python变量名的是_Python编程4:什么是变量

    #少儿编程# 我们在上一篇<Python编程3:与计算机对话之键盘输入input()>中介绍input()函数时曾经使用过变量,将键盘输入的内容赋给变量name.变量,在各个编程语言中都是 ...

  9. python变量区分大小写吗_python变量名区分大小写吗

    Python的变量名是区分大小写的,例如:name和Name就是两个变量名,而非相同变量. 变量(variable)是学习python初始时,就会接触到的一个新的知识点,也是一个需要熟知的概念.pyt ...

  10. python不小心用关键字做了变量名,怎么改回来

    看到一个高手的方法,在写程序的时候,不小心用str做了变量名,导致后面出现错误.要改回来,需要使用 from pydoc import locate str = locate('str') 记录一下,

最新文章

  1. linux 共享内存函数封装,linux ftok()函数 --多进程IPC之共享内存
  2. 5如何将表格的一行数据清空_微信公众号推文中如何自定义添加表格?
  3. 终端主题_再见 XShell 和 ITerm 2,是时候拥抱全平台高颜值终端工具 Hyper 了!
  4. Cocos2d-x3.2 重力感应
  5. Android 布局错乱 Android花屏
  6. 网工路由基础(2)路由选路原理
  7. react中样式冲突_如何通过React中的样式使您的应用漂亮
  8. #ifdef,#ifndef,#define,#endif解析(原)
  9. java unreported exception_Java异常处理
  10. memcpy函数实现_等比例缩放c++ opencv 实现
  11. NSLog各数据类型的输出
  12. Python使用openpyxl和pandas处理学生成绩Excel文件实用案例
  13. phpstorm,webstorm取消自动保存并标识修改的文件为星星标记
  14. Django 缓存、序列化、信号
  15. Unity安装包下载及安装教程
  16. iphone转android通讯录,苹果IPHONE通讯录电话簿转到安卓手机csv,vcf方法(ITUNES,OUTLOOK,EXCEL)...
  17. 5.3 数据通路-专用通路
  18. 775针服务器cpu性能排行,e7500(775针cpu天梯图)
  19. OpenWrt 防火墙基础过滤--域名过滤
  20. 三天一题-20- Integer to Roman(Integer转成古罗马数字)

热门文章

  1. 深入理解socket编程的几个函数和两种fd
  2. php css类,css class是啥
  3. c语言熵值法,干货 | R语言熵值法详解(附代码) 秒懂自定义函数
  4. java异常_深入理解java异常处理机制
  5. java版mc植物生长条件_植物生长三大必要条件
  6. transform与rigibody以及角色控制器的运动
  7. 【渝粤教育】电大中专跨境电子商务理论与实务 (30)作业 题库
  8. 操作系统原理(五)存储管理
  9. 23种设计模式(二十)数据结构之迭代器
  10. ***基于协同过滤,NMF和Baseline的推荐算法