PDA

View Full Version : مشکل با ارور stack around variable corrupted



john smithair
دوشنبه 30 مرداد 1391, 16:31 عصر
سلام دوستان
من یه کدی نوشتم که الگوریتم دایجسترا رو اجرا میکنه. درست هم کار میکنه ولی نمیدونم چرا بعد از اجرای برنامه خطا میده و مینویسته
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;
}
اگر کسی میدونه دلیلش چیه که این ارور رو میده و کمکم کنه خیلی ممنون میشم.
تو سایت سرچ هم کردم. یه پست بود که اون هم زیاد به این کد من مربوط نمیشد.

tdkhakpur
دوشنبه 30 مرداد 1391, 20:20 عصر
مشکل از همین کدی که ارسال کردید نیست ممکنه مقدار node رو که برای کلاس Graph اضافه میکنید این اشکال رو ایجاد کنه.
در هر حالت مسئله رو اینجا #include "Dijekstra.h" جستجو کنید یا اینکه مقدار پشته کامپایلرتان را افزایش بدید.