Ошибка в самой последней функции кода List * reverse(List *u), которая инвертирует список. Помогите пожалуйста понять. Компилятор говорит, что 'tmp' was not declared in this scope. я не знаю где еще мне обьявть или что сделать с tmp что бы скомпилировался код.
struct Data
{ int a;
};
struct List
{ Data d;
List *next;
};
int main(int argc, char** argv) {
List *u = NULL;
// 1 uzel
u = new List; // obyavlenie
u->d.a = 3;
u->next = NULL; // ukazatel na sled element
// dlya udobstva sozd peremennuyu-ukazatel kotoraya hranit adress posl elementa
List *x;
// 2 uzel
x = u;
x->next = new List;
x = x->next;
x->d.a = 5;
x->next = NULL;
//
List *c;
// 3 uzel
c = x;
c->next = new List;
c = c->next;
c->d.a = 1;
c->next = NULL;
//
List *b;
// 4 uzel
b = c;
b->next = new List;
b = b->next;
b->d.a = 9;
b->next = NULL;
// Vivod (prosto idem po spisku)
while(u)
{
cout << u->d.a << endl;
u = u->next;
}
return 0;
}
List * reverse(List *u)
{
if (u == 0) return 0;
if (u->next == 0) return u;
u * tmp = reverse(u->next);
u->next->next = u;
u->next = 0;
return tmp;
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости