Hi Leute!
Ich möchte mir einen sicheren Zeiger implementieren, eigentlich hab ichs sogar gemacht.
Es gibt jedoch ein Problem:
Code
		
			template<typename type> inline type& jpointer<type>::operator*() const
{
    if(ptr)
        return *ptr;
    throw domain_error("Tried to call jpointer::operator*(), but the pointer is NULL");
}Wenn ich jetzt *p mit einem ungebundenen Zeiger aufrufe, wird wunderbar ein domain_error ausgelöst, den ich auch Auffangen kann:
Code
		
			catch(domain_error e)
{
  cerr << e.what() << endl;
  cerr << "bla"; // das letzte was ich vom Programm höre
  cout << "blabla"; // vielleicht übersetzt er "blabla" in "Speicherzugriffsfehler", aber warum er dann noch terminate aufruft???
}
Sobald ich eine andere Anweisung als cerr oder throw in den Catch-Block einfüge, bricht das Programm ab: "Speicherzugriffsfehler", auch wenn im Catch-Block nur ein cerr steht, bricht das Programm am Ende des Catch-Blocks ab.
Was kann ich da falsch machen?
Danke für jede Hilfe...
The User
 
		 
		
		
	 
															
		
