Merci pour ta réponse!

Je suppose effectivement que c'est le problème des pointeurs qui n'ont de sens qu'en local...
Le problème est que c'est mon compilateur IDL (omniORB4) qui produit les sources et interprète
NodeORB getNode(in string path); (src idl)
en
NodeORB* getNode(const char* path); (src cpp)
donc je n'ai pas vraiment la main sur ce code

Cela dit, c'est son boulot de produire ce code et je suppose qu'il le fait bien sinon je suis mal barré.

une remarque: NodeORB est interprété en NodeORB* dans la signature de la méthode lorsque sa taille est indéfinie.
Dans mon cas, string et sequence sont deux type de taille variable.
Or si je les remplace par des double et long (taille fixe)
alors NodeORB et interprété en NodeORB et non pas en NodeORB*

Ma question est la suivante:
Est-il possible de retourner une structure de taille variable en CORBA et si oui comment?