C++ 如何编辑向量对的第二个值
//在这一行中,我想将sVal分配给向量中对的secand值,但失败了C++ 如何编辑向量对的第二个值,c++,C++,//在这一行中,我想将sVal分配给向量中对的secand值,但失败了 pCPxml->FindAttrText( "/cpq_package/sw_keys/sw_keys_and/sw_key", "name", it); for (deviceData=pXML->GetFirstChild(device); deviceData!=0; deviceData=pXML->GetFollowingSibling(deviceData) ) {
pCPxml->FindAttrText( "/cpq_package/sw_keys/sw_keys_and/sw_key", "name", it);
for (deviceData=pXML->GetFirstChild(device); deviceData!=0; deviceData=pXML->GetFollowingSibling(deviceData) )
{
string sVal;
pXML->FindFirstText( deviceData, &sVal );
switch(count)
{
case 3:
怎么了?提供一个SSCCE,否则没有人能够回答这个问题。@Rapptz我们现在称之为:-先生,它编译正确,当我运行应用程序时,它说调试断言失败,表达式向量订阅超出范围。但是当我注释这行时,vecSWKeys[count]。second=sVal;它起作用了fine@user3161006试试vecSWKeys[count].second=Hello,world!;看看你的程序是否有效。如果是,那么sVal的内容就被破坏了。如果它仍然使程序崩溃,则count是vecSWKeys的无效索引,即vecSWKeys至少没有count+1元素。问题不在于此操作。我猜向量在运行时超出了索引
pCPxml->FindAttrText( "/cpq_package/sw_keys/sw_keys_and/sw_key", "name", it);
for (deviceData=pXML->GetFirstChild(device); deviceData!=0; deviceData=pXML->GetFollowingSibling(deviceData) )
{
string sVal;
pXML->FindFirstText( deviceData, &sVal );
switch(count)
{
case 3:
vecSWKeys[count].second=sVal;
break;
}
count++;
}