鱼C论坛

 找回密码
 立即注册
查看: 848|回复: 10

[已解决]c++p13联合问题

[复制链接]
发表于 2020-4-24 17:58:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
希望好心人帮我回答一下这三个问题是为什么,然后要怎么改? 谢谢
最佳答案
2020-4-24 18:25:28
1. 在共用体(union)中不能出现类对象,因为没办法保证类对象的构造函数和析构函数被正确调用,那些没有构造函数和析构函数的类可以出现在共用体中
QQ截图20200424174924.png
QQ截图20200424175024.png
QQ截图20200424175116.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-24 18:16:52 From FishC Mobile | 显示全部楼层
第一个可能你写了一个有参的构造函数,但没写空参的构造函数。第二三个问题是同一个,在有的编译器可以通过有的不行。也可能是你后面代码通过p对字符串内容做了修改,而字符串是不可变的。直接的解决办法是用字符数组temp存储字符串,再把pet指向temp
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-4-24 18:25:28 | 显示全部楼层    本楼为最佳答案   
1. 在共用体(union)中不能出现类对象,因为没办法保证类对象的构造函数和析构函数被正确调用,那些没有构造函数和析构函数的类可以出现在共用体中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-4-24 18:27:20 | 显示全部楼层
2. C++对类型要求比较严格, const char * 和 char * 在C++中是两个不同的类型
字符串常量是 const char *
把 char *pet; 改成 const char *pet;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 18:43:55 | 显示全部楼层
人造人 发表于 2020-4-24 18:27
2. C++对类型要求比较严格, const char * 和 char * 在C++中是两个不同的类型
字符串常量是 const char * ...

可是小甲鱼的视频中他是char*就通过了,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 18:46:03 | 显示全部楼层
hzxwonder 发表于 2020-4-24 18:43
可是小甲鱼的视频中他是char*就通过了,,

从前是从前,现在是现在,从前很多的东西都不能用了
另外,截图看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 19:17:27 | 显示全部楼层
人造人 发表于 2020-4-24 18:46
从前是从前,现在是现在,从前很多的东西都不能用了
另外,截图看看

像这样
QQ截图20200424191646.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 19:43:33 | 显示全部楼层

看起来是 vc6
vc6也许可以,但是最新的编译器都不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 19:54:19 | 显示全部楼层
人造人 发表于 2020-4-24 19:43
看起来是 vc6
vc6也许可以,但是最新的编译器都不行

好的,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 19:56:00 | 显示全部楼层
倒戈卸甲 发表于 2020-4-24 18:16
第一个可能你写了一个有参的构造函数,但没写空参的构造函数。第二三个问题是同一个,在有的编译器可以通过 ...

谢谢你,我的问题主要是3楼说的那样,可惜不能设置多个最佳,真的感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 19:59:29 From FishC Mobile | 显示全部楼层
hzxwonder 发表于 2020-4-24 19:56
谢谢你,我的问题主要是3楼说的那样,可惜不能设置多个最佳,真的感谢

我也就是大概看了一下,都没看到你类对象是放在共用体里面的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-14 20:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表