Нифига не понимаю.
Кусок программы:
struct SomeStruct{
...
};
struct Chain{
SomeStruct* start;
SomeStruct* finish;
};
Chain merge(Chain chain1, Chain chain2){
Chain result;
result.start = 0;
result.finish = 0;
if(result.finish)
...
else
result.start = chain1.start;
return result;
}
версия gcc - 3.2.2
при отладке в DDD указателям не присваивается нулевое значение, остается то, которое было при предыдущем вызове merge. Хотя условие в скобках нулевое, проиходит переход на else, но присвоение значения опять не происходит.
Переменные локальные, что за фигня?