a* pointer = head;
return pointr;
У вас не было никакой переменной, объявленной как pointr
в области действия функции. Как компилятор узнает, если вы не объявите ее?
pointr
и pointer
не совпадают, отсутствует e
.
Предполагая, что это опечатка,
Ваша функция возвращает указатель, но важно то, на что она указывает.Если head
является локальной переменной или указателем без динамического выделения памяти (указывающего на локальный объект), тогда ваш указатель pointer
указывает на локальный объект, который будет уничтожен после возврата из функции и станет висящим указателем.
Запомните правило:
Вы не должны возвращать ссылку или указатель на переменную, локальную для функции.