我的职能是制作一系列地图:
map<string, int> *pMap
a) 向阵列撰写地图的功能:
int iAddMap(map<string, int> mapToAdd, map<string, int> *m, int i)
{
m = &(pMap[i]);
memcpy(m, mapToAdd, sizeof(map<string, int>));
}
从阵列获取地图的功能
map<string, int>& getMap(int i)
{
return pMap[i];
}
我可以毫无问题地向阵列绘制地图,但每一个地方的电话都会导致eg误:
int val;
// val defined after this
map<string, int> * pGetMap = &(getMap(val));
任何关于为何发生这种情况的建议?