这个问题让我发疯了,我在网上搜索过,但找不到与我的问题相关的任何答案。错误是这样的:
GraphSimulation.exe 中 0x7726dfe4 处未处理的异常:0xC0000005:访问冲突读取位置 0x4effffff。
我有一个名为 GraphSimulation 的主要项目,它模拟一个网络。这个 GraphSimulator 生成一个网络对象。
class CNetwork
{
private:
//...
unsigned long lastTimeUnitStepCounter;
NetworkObjectCode codeGenerationCounter;
vector <string> HBInfo;
SStatisticsMonitor statisticMonitor;
bool bManageCashAlone;
private:
void TrySendingMoviePartsOnPath();
void InitActionArrayWithNetwork();
public:
void SetHalfBallInfo( string );
vector<string> GetHalfBallInfo();
我还有另一个项目是网络算法来帮助如何分发电影。
我需要在算法运行时设置一些信息。
string s = "some information";
network.SetHalfBallInfo(s);
SetHalfBallInfo 将此信息存储在 HBInfo 中;当算法完成运行时,我需要在 GUI 中显示它。所以 GetHalfBallInfo 调用信息。
m_HalfBallInfo = _network.GetHalfBallInfo();
//showing the movie parts list
CListBox* pSolutionDisplayList = (CListBox*)GetDlgItem(IDC_SOLUTION_LIST);
for(int i = 0 ; i < m_HalfBallInfo.size() ; ++ i )
{
CString str;
str.Format("%u " , m_HalfBallInfo[i]);
pSolutionDisplayList->AddString(str);
}
但是当我在开始算法运行之前返回网络时它会崩溃。
CNetwork CGraphView::ConvertGraphToNetwork()
{
CNetwork network;
//...
for(int i = 0 ; i < movieCodeArray.GetSize() ; ++i)
{
CMovieWrapper currMovieWrapper;
pDlgParam->movieList.GetNetworkObject(movieCodeArray[i] , &currMovieWrapper);
network.AddMovie(currMovieWrapper.GetMovieCopy());
}
//...
return network;
}
返回网络后崩溃。任何帮助将不胜感激。