Czy można napisać szablon / makra c ++, aby sprawdzić, czy dwie funkcje mają takie same sygnatury
Czy można napisać szablon / makra c ++, aby sprawdzić, czy dwie funkcje mają takie same sygnatury (typ zwracany i lista argumentów)?
Oto prosty przykład tego, jak chcę go użyć:
int foo(const std::string& s) {...}
int bar(const std::string& s) {...}
if (SAME_SIGNATURES(foo, bar))
{
// do something useful... make Qt signal-slot connection for example...
}
else
{
// signatures mismatch.. report a problem or something...
}
Czy to możliwe, czy to tylko marzenie z fajki?
P.S. Właściwie jestem ciekawy w standardzie c ++ 2003.