Voici un petit codeEt voici le message d'erreur du compilateur (VS2010)
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
20 template<class T> struct capsule { T i_; capsule(T i=5): i_(i) {} operator T *() { return &i_; } }; template<class T> inline void display_by_ptr(T * p) { std::cout << *p << std::end; } int main() { capsule<int> c; int *pi=c; // OK display_by_ptr(c); // pas OK }Sachant qu'il n'est pas possible de changer display_by_ptr(), comment corriger/compléter la structure capsule<> pour que ça fonctionne ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 'void display_by_ptr(T *)' : could not deduce template argument for 'T *' from 'capsule<T>'
Là, je sèche...
Merci.
Partager