Problème de decltype avec des méthodes surchargées
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 suivante
Citation:
error: decltype cannot resolve address of overloaded function
Au niveau du code, cela donne ceci:
Code:
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;
} |
Quelqu'un a une idée de comment je puis indiquer au compilo d'utiliser la 1ere surcharge?
Merci :)