【发布时间】:2015-01-14 16:45:57
【问题描述】:
我正在使用CMapStringToOb 来存储CMapStringToString
如果我将columns 声明为*columns,我可以完成这项工作,但我想知道为什么我不能以这种方式工作
CMapStringToOb m_FfMasters;
CMapStringToString columns;
// if we haven't met this master before store the details for later use
if(!m_FfMasters.Lookup(_T("String"),(CObject*&)columns) )
{
getColumns(_T("String"),columns);
m_FfMasters.SetAt(_T("String"),(CObject*&)columns);
if(m_FfMasters.Lookup(m_workingFfMaster,(CObject*&)columns))
{
CString temp;
if(columns.Lookup(_T("String"),temp)) //<-- access violation here
{
return temp;
}
}
}
其他函数原型是:
void CClass::getColumns(CString code,
CMapStringToString& columns,
BOOL reverseKeyValue);
我在列查找时遇到访问冲突
【问题讨论】:
-
columns = new CMapStringToString();这是什么? -
new返回一个指针。 -
对不起,这是一个令人困惑的问题,我该如何关闭它?
标签: c++ visual-studio-2010 pointers reference mfc