Bonjour,

Je viens de trouver ce code source:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
template<class T> inline T& Matrix4<T>::operator ()(size_t i, size_t j)
{
	return operator T*()[j * 4 + i];
}
 
template<class T> inline const T& Matrix4<T>::operator ()(size_t i, size_t j) const
{
	return operator ()(i, j);
}
 
template<class T> inline Matrix4<T>::operator T*()
{
	return &a11;
}
 
template<class T> inline Matrix4<T>::operator const T*() const
{
	return &a11;
}
Il y a deux fois la même fonction avec "const" et sans "const". Quand est-ce que le compilateur va choisir l'une ou l'autre ?
Ou est-ce peut-être une erreur de programmation ? Dans ce cas pourquoi le compilateur ne l'interdit pas ?

J'ai l'impression que ma deuxième méthode me fait un seg fault et je crois qu'elle essaye de s'appeler elle même à l'infini mais je ne suis pas certain. Est-ce possible ?

Merci d'avance.