问题描述
- 关于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] + "
";
}
MessageBox(str);
}运行了就挂了 是什么问题
解决方案
下个断点,看看在哪一步挂的。还有for()循环之前测试一下i的值是多少。
解决方案二:
vector的嵌套使用
嵌套vector的问题
C++局部变量指针保持在List,Vector中使用的问题