[Dcmlib] c++: string
Mathieu Malaterre
Mathieu.Malaterre at creatis.insa-lyon.fr
Tue Sep 16 15:14:03 CEST 2003
Salut les hackers/gdcmeux,
Je n'arrive pas à faire marcher gdcm sous win32 en mode debug.
C'est cette instruction coupable:
const char *res = GdcmHeader.GetPubElValByNumber(0x0008, 0x0016);
en effet lorsque le champ n'est pas trouvé gdcm renvoi "gdcm::Unfound":
string gdcmElValSet::GetElValueByNumber(guint16 group, guint16 element) {
TagKey key = gdcmDictEntry::TranslateToKey(group, element);
if ( ! tagHt.count(key))
return "gdcm::Unfound";
return tagHt.find(key)->second->GetValue();
}
Est-ce que cette fonction peut etre utilisée sainement, vu que le chaine
"gdcm::Unfound" est locale à la fonction GetElValueByNumber ? Pour moi
la string renvoyée (=objet temporaire) est détruite à la fin de
l'instruction et donc 'res' contient un mauvais pointeur...
Dans les détails amusant: je n'arrive pas a reproduire le problème sous
linux ni en VC++ mode release...
Merci en tout cas de vos commentaires,
mathieu
More information about the Dcmlib
mailing list