假设有这样的定义,
void CConfigTest::OnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
TVITEM item = pNMTreeView->itemNew;
// find the session of the selected item
if(item.hItem != NULL)
{
HTREEITEM root, parent, node;
node = item.hItem;
parent = m_treeSM.GetParentItem(item.hItem);
root = m_treeSM.GetRootItem();
while(parent != root && parent != NULL)
{
node = parent;
parent = m_treeSM.GetParentItem(parent);
}
MyCommand* pCmd = (MyCommand*)(m_treeSM.GetItemData(node));
....
....
我在下面尝试了这些陈述,但都失败了。
pCmd->subList[2]
(pCmd->subList)[2]
如何获取数组成员值(例如subList [2])。我想用其他相同的类型值替换subList [2]的值。谢谢。
答案 0 :(得分:1)
列表不支持随机访问。您需要切换到另一个容器类型,该类型执行或迭代列表,直到您到达所需的元素。
答案 1 :(得分:1)
如果要像行为一样进行数组并使用下标运算符,则应使用std::vector
而不是std::list
。然后你可以像使用数组一样使用它来访问和替换元素。