虞威 2013-06-11 11:00 采纳率: 0%
浏览 1651

用push_back函数将数存入结构体指针向量中编译不出错,运行的时候出不来!

#include
#include
#include
using namespace std;
typedef struct person
{
string name;
vector length;
}person,*person_List;
int main()
{
int number;
person_List p;
person p1;

p = (person_List)malloc(sizeof(person));
for(int i = 0;i < 5;i ++)
{
    cin >> number;
    p->length.push_back(number);
}
for(i = 0;i < p->length.size();i++)
    cout << p->length[i] << " " ;
return 0;

}
用结构体p1是对的,但是用结构体指针就不对了,不知道为什么?求大神指导啊!

  • 写回答

1条回答 默认 最新

  • xudafeng 2018-04-06 03:15
    关注

    用结构体时,会对length执行构造函数,使用指针申请的是内存空间,就不执行构造函数了

    评论

报告相同问题?

悬赏问题

  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏