سلام دوستان
من یه کدی نوشتم که الگوریتم دایجسترا رو اجرا میکنه. درست هم کار میکنه ولی نمیدونم چرا بعد از اجرای برنامه خطا میده و مینویسته
Stack around variable g was corrupted.
کد رو براتون گذاشتم. کاملا اجرا میشه. نتایجی هم که میده درسته ولی بعد از اینکه کار تموم میشه ارور میده و رو گیومه ی بستن بلاک main ارور میگیره.
#include "Dijekstra.h"
const int nodecont=5;
//main
int main()
{
Graph g;
g.minWeight ();
int n,e;
for(int i=0;i<nodecont;i++)
g.addNode(i);
g.addEdge(0,1,10);
g.addEdge(0,2,3);
g.addEdge(1,2,1);
g.addEdge(1,3,2);
g.addEdge(2,1,4);
g.addEdge(2,3,8);
g.addEdge(2,4,2);
g.addEdge(3,4,7);
g.addEdge(4,3,9);
Dijekstra dij(g);
dij.singleSourceShortestPath(0);
dij.printGraph ();
return 0;
}
اگر کسی میدونه دلیلش چیه که این ارور رو میده و کمکم کنه خیلی ممنون میشم.
تو سایت سرچ هم کردم. یه پست بود که اون هم زیاد به این کد من مربوط نمیشد.