2010-01-23 18 views

Respuesta

15

No se puede resolver esto a través de los rasgos de tipo porque tendrías que definir si para cada nombre posible.

Here son las soluciones comunes enumeradas, que tienen un problema: muchas implementaciones STL ponen código común en clases base y este método no comprueba nombres heredados.

Si necesita comprobar si hay miembros heredados también, consulte here. La respuesta proporciona una solución que verifica si la clase en cuestión tiene un miembro de ese nombre y también puede verificar la presencia y el recuento de argumentos. Sin embargo, no se comprueba la firma completa, incluidos los tipos de argumento y devolución, y la visibilidad de los miembros no hace la diferencia. Debería poder resolverlo parcialmente usando el is_call_possible<> enlazado (aún no he tenido tiempo de mirarlo).

+4

Cada vez que veo el hilo 'is_call_possible', un poco de mí se asusta. – GManNickG

+0

mi ruso está dando sus frutos, gracias – Anycorn

+0

@GMan: tendré que animarme y atacar el próximo mes;) –

Cuestiones relacionadas