para GM_Juanjo.
enrealidad la exprecion:
ptr1 = void;
es una asignacion en la que interviene un puntero generico, la anterior es;
(Pero eno es una centencia de C o C++).
ptr1 = ptr2; asignacion entre punteos de tipo.
eso es.
si quieres ver de donde saque e esto de dejo el link:
http://www.zator.com/Cpp/E4_2_2.htm
Saludos.