关于c++ vector 的push_back问题

2024-12-28 16:53:43
推荐回答(4个)
回答1:

再构建一个vector m_stra

while( Module32Next( hModuleSnap, &me32 ) )
{
m_stra.push_back(me32.szModule);
cout<<"me32"<}

如果此次成功证明你的链表类有问题,看看m_dlls是不是private要不就把
m_processInfo.Get(i).m_dlls.push_back(me32.szModule); 改成
(m_processInfo.Get(i).m_dlls).push_back(me32.szModule);
如果上面m_stra.push_back()都失败,证明me32.szModule肯定有问题,是不是类型不匹配,刚刚查了下msdn,上面的me32.szModule是TCHAR类型,好像到string是需要转换的吧?//这个我不是很清楚
再慢慢查,别着急,对自己有信心,再仔细找找。

回答2:

这个逻辑...
Get(i)的返回值是一个m_processInfo对象么?
m_dlls是m_processinfo的一个成员变量么?

回答3:

再构建一个vector
m_stra
while(
Module32Next(
hModuleSnap,
&me32
)
)
{
m_stra.push_back(me32.szModule);
cout<<"me32"<";
}
如果此次成功证明你的链表类有问题,看看m_dlls是不是private要不就把
m_processInfo.Get(i).m_dlls.push_back(me32.szModule);
改成
(m_processInfo.Get(i).m_dlls).push_back(me32.szModule);
如果上面m_stra.push_back()都失败,证明me32.szModule肯定有问题,是不是类型不匹配,刚刚查了下msdn,上面的me32.szModule是TCHAR类型,好像到string是需要转换的吧?//这个我不是很清楚
再慢慢查,别着急,对自己有信心,再仔细找找。

回答4:

m_processInfo.Get(i)
返回的是引用类型吗?