mercredi 31 mai 2017

Is it possible to determine if a parameter of a function is signed or unsigned?

There are ways to determine if a function exists, and there are ways to determine if a function has a particular signature. But is there a way to determine if it has a signature that contains a signed or unsigned parameter while the name may be overloaded?

Example

struct A {
 void fn(int) {}
};

struct B {
 void fn(unsigned) {}
};

struct C {
 void fn(int) {}
 void fn(unsigned) {}
};

The closest I could think that this would be possible is if I tested specifically for every signed type, and then if not found, every unsigned type. That will however, exclude any enum type or new type in the future.

Aucun commentaire:

Enregistrer un commentaire