Вот так должно работать: int march (const Grid1D & grid) { ... static Grid1D newgrid; // шаг if (!finFlag) { printf("Making iteration %06d; Passed time: %f\n", grid.iter+1, grid.time); newgrid = make_step(grid, tau); return march(newgrid); } else return 0; } 11.09.2014 14:50:27, Dmitrii Kashin: > Но всё равно получаю SegFault в следствие переполнения.