当前位置: 首页 > news >正文

C++<基本>:union是没有构造函数和析构函数的

今天发现当我在union中包含了多个结构体时,结构体有默认构造函数时,编译报错。

问题点:

  1. union不支持构造函数和析构函数
  2. union中的元素本身也是不支持构造函数和析构函数的。
  3. 包含union的结构体也不支持构造函数和析构函数。

出错代码如下:

struct MyStruct {MyStruct() { /* 构造函数代码 */ }~MyStrcut(){/* 析构函数代码*/}int a;double b;
};union MyUnion {MyStruct s;int i;
};

解决方案如下:

  1. 方案一:移除结构体中的构造函数,在使用union的外部初始化;
  2. 方案二:使用结构体替换联合体。
http://www.lryc.cn/news/500118.html

相关文章:

  • SQL中IN和NOT操作符的用法
  • C++平常学习用的
  • JAVA |日常开发中Servlet详解
  • QT实战--QTreeWidget实现两种行颜色+QListWidget样式
  • RPA在IT运维中的实践:自动化监控与维护
  • C# 设置方法执行超时,则执行下一个方法
  • 【iOS】UIImagePickerController
  • 现代企业营销模式创新:链动 2+1 模式 AI 智能名片商城小程序的应用与价值
  • springboot+Loki+Loki4j+Grafana搭建轻量级日志系统
  • 服务器守护进程化
  • 灵途科技亮相2024世界传感器大会 分享光纤光源技术突破
  • day35—蓝桥杯2024年第16届校赛模拟第二期-T4(最小花费)
  • 【CSS in Depth 2 精译_068】11.2 颜色的定义(下):CSS 中的各种颜色表示法简介
  • 游戏引擎学习第38天
  • P1223 排队接水(贪心)
  • 关于springBoot+vue项目中配置SSL证书问题
  • GUI的最终选择:Tkinter
  • Photohop关于数位板没有压力感,PS画笔的钢笔压力总是显示感叹号的问题解放方法
  • rust websocket Echo server高性能服务器开发
  • 19、网络编程:
  • [代码随想录11]栈和队列的应用,逆波兰表达式求值 、滑动窗口最大值、前 K 个高频元素
  • 认证插件介绍
  • ASP.NET Core8.0学习笔记(二十四)——EF Core级联插入与删除
  • Docker打包SpringBoot项目
  • 【Linux】WSL:Win运行Linux
  • js循环导出多个word表格文档
  • Spring Boot 日志 配置 SLF4J 和 Logback
  • 企业级包管理器:专栏概述 (1)
  • 【动手学电机驱动】STM32-MBD(1)安装 STM32 硬件支持包
  • 书后习题答案:《Python程序设计基础(第2版)》,电子工业出版社,2020.01