Error de conception ou pas ? - template - reinterpret_cast - exceptions
Bonjour,
je suis sur un projet embarqué où je n'ai pas la STL ni la gestion des exceptions.
J'ai besoin d'avoir des listes doublement chaînées. Je suis donc en train de me créer une liste doublement chaînée (DLList<T> pour moi).
Mon code est quasi terminé et donc maintenant avec je le test et j'en suis à la partie où je teste les itérateurs.
Mon test actuel est le test de
Code:
1 2 3 4 5 6 7 8 9 10
|
//! Returns reference to value in iterator's target,
//! @todo : BIG problem if m_Position = NULL, should throw an error
inline T& operator*() const
{
if(m_Position != NULL)
return m_Position->val;
else
return *(reinterpret_cast<T*>(NULL)); // should throw an error
} |
Si pour une raison inconnue l'itérateur pointe sur NULL, alors je fais quoi ?
C'est carrément crade de faire une référence sur NULL non ? Que suggérez-vous ?