Già eliminare i seguenti potrebbe servire:
codice:
$ g++ -Wall -ansi -pedantic -Wextra -Wconversion main.cpp
In file included from /usr/include/c++/4.0.0/backward/iostream.h:31,
from main.cpp:1:
/usr/include/c++/4.0.0/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
main.cpp:32: error: ISO C++ forbids declaration of 'main' with no type
se il tuo compilatore non ti evidenzia i problemi sopra elencati, allora cambialo (il compilatore).
dato che ci sei elimina (non è portabile e puoi ottenere lo stesso effetto senza alcuna istruzione, semplicemente cambiando il modo con cui esegui il tuo programma, ad esempio invocandolo direttamente da terminal, o settando opportunamente un breakpoint nel debugger):
codice:
system ("pause");
In ogni modo come ti ha già detto Stoicenko, i puntatori "ultimo e "nuovo" hanno dei valori indefiniti quando chiami:
codice:
box->point_at_next(ultimo, nuovo);
il che significa che il tuo programma ha un comportamento indefinito