Bonjour à tous,
J'aimerai déduire dans un programme le type d'une méthode d'une de mes classes en utilisant decltype. Le problème, c'est que cette méthode est surchargée, à savoir que j'ai une version de celle-ci qui est déclarée en const et renvoie un const, tandis que l'autre est non-const et renvoient une reference non const.
Du coup, quand j'essaie de compiler le tout, g++ me sort l'erreur suivanteAu niveau du code, cela donne ceci:error: decltype cannot resolve address of overloaded function
Quelqu'un a une idée de comment je puis indiquer au compilo d'utiliser la 1ere surcharge?
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
21
22 #include <iostream> #include <typeinfo> struct A { int value = 0; int& get() { return value; } const int& get() const { return value; } }; int main() { std::cout << typeid(decltype(&A::get)).name() << std::endl; return 0; }
Merci
Partager