网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月03日漏签0天
c++吧 关注:617,577贴子:2,111,118
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 12回复贴,共1页
<<返回c++吧
>0< 加载中...

求助大神,百思不解

  • 只看楼主
  • 收藏

  • 回复
  • 霧雨
  • =
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼



只是一个简单的结构体嵌套,定义的结构体如图。在赋值string的name和phone那些时候就会报错,但是赋值int的年龄和bool的性别时候就不会,这是为啥呀疯了。


  • 霧雨
  • =
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

如果是这样的话就能正常运行,可是这和之前的代码有什么不一样的地方,好难啊c++


2025-06-03 11:15:16
广告
  • xxxxxxxxx
  • ?:
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
字符串类型用strcpy赋值


  • 123ptqw
  • |
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
string类 学c的人就是用不习惯


  • 射命丸文
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用c++就用c++的风格来写,混用不是好习惯。malloc根本不会调用构造函数,只是纯粹的分配内存,这样string对象里的指针连内存都没有分配,那可不就报错了,老老实实用new。


  • 神座流出
  • *
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你用 malloc 的话就得手写 new(s) DLNode ,并且手写析构函数调用。
究其原因,是 DLNode 的 person 里有 std::string 类型对象,这个类型不是可平凡默认构造( trivially default constructible )的。
解决方法可以是用 new 表达式。或者直接用 std::list 。
另外 C++ 里赋值和初始化可能是有不小区别的。如果要达成初始化的目的,最好用专门的初始化语法。除非确实有必要,否则不要用赋值实现初始化。


  • 故人道一
  • throw
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
看得有点像c++,但是有些又不像C++里面的东西,像混血儿


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 12回复贴,共1页
<<返回c++吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示