GMD_1112 2015-08-11 05:40 采纳率: 40%
浏览 3456
已采纳

关于vector嵌套使用的问题

class person
{
public:
CString name;
std::vector vecfriends;

};
std::vector vecperson;
我想给person中的friends元素逐个赋值 然后显示
是这样写的
int i = -1;
void CSocial_testDlg::OnAdd()
{
UpdateData(TRUE);
person A;
A.name = m_name;
MessageBox("已添加");
m_name = "";
vecperson.push_back(A);
i++;
UpdateData(FALSE);
}

void CSocial_testDlg::OnButton3()
{
UpdateData(TRUE);
int j = 0;
vecperson[i].vecfriends[j] = m_friends;
j++;
MessageBox("已添加");
m_friends = "";
UpdateData(FALSE);
}

void CSocial_testDlg::OnShow()
{
// TODO: Add your control notification handler code here
CString str;
str = "姓名:";
for (int k = 0;k < vecperson[i].vecfriends.size();k++)
{
str = str + vecperson[i].vecfriends[k] + "\n";
}
MessageBox(str);
}

运行了就挂了 是什么问题

  • 写回答

1条回答 默认 最新

  • 纵横车 2015-08-11 06:31
    关注

    下个断点,看看在哪一步挂的。还有for()循环之前测试一下i的值是多少。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥50 Oracle Kubernetes服务器集群主节点无法访问,工作节点可以访问
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架
  • ¥15 有关sql server business intellige安装,包括SSDT、SSMS。
  • ¥15 stm32的can接口不能收发数据
  • ¥15 目标检测算法移植到arm开发板
  • ¥15 利用JD51设计温度报警系统