QT中QString赋值问题

hldwby 2016-01-03 01:16:19
结构体:
typedef struct message
{
QString C_name;//商品名称
int C_id;//商品编号
float C_price;//商品进价
QString C_origin_id;//商品产地编号
QString C_spec;//商品规格
QString C_type;//商品种类
int C_num;//商品数量
message *next;//链表节点的指针,指向下一个元素
}message,*pmsg;
全局变量:pmsg phead,pend=NULL;

赋值:
pmsg st;
st=(pmsg)malloc(sizeof(message));
pend->next=st;
pend=st;
QString str="sdf";
st->C_name="sdf";
ui->textBrowser_2->setText(str);
ui->textBrowser_3->setText(st->C_name);

请问为什么赋值给结构体里C_name的时候,程序就会崩掉呢?输出str没问题但是输出st->C_name就会有问题,就大神们帮助~
...全文
2646 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hldwby 2016-01-05
  • 打赏
  • 举报
回复
谢谢您,成功了
pcboyxhy 2016-01-03
  • 打赏
  • 举报
回复
因为你用的是malloc不是new,C++里面只有POD可以用malloc,其余的必须用new,malloc是不会调用构造函数的

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧