Uso de eliminar en punteros pasados como argumentos de función
¿Está bien (y es legal) eliminar un puntero que se ha pasado como un argumento de función como este:
#include<iostream>
class test_class{
public:
test_class():h(9){}
int h;
~test_class(){std::cout<<"deleted";}
};
void delete_test(test_class* pointer_2){
delete pointer_2;
}
int main(){
test_class* pointer_1;
while(true){
pointer_1 = new test_class;
//std::cout<<pointer_1->h;
delete_test(pointer_1);
}
}
Esto compila bien ahora, pero solo quiero asegurarme de que siempre será así.