Tengo problemas para sobrecargar métodos en C++. Como un ejemplo del problema, tengo una clase con una cantidad de métodos sobrecargados, y cada método tiene un parámetro con un tipo de datos diferente. Mi pregunta: ¿hay algún orden en particular en la clase en que deberían aparecer estos métodos, para asegurarse de llamar al método correcto según el tipo de datos de sus parámetros?Función/Sobrecarga del método C++: ¿Confusión del tipo de datos?
class SomeClass{
public:
...
void Method(bool paramater);
void Method(std::string paramater);
void Method(uint64_t paramater);
void Method(int64_t paramater);
void Method(uint8_t paramater);
void Method(int8_t paramater);
void Method(float paramater);
void Method(double paramater);
void Method(ClassXYZ paramater);
}
Noté que había un problema porque cuando se ejecuta:
Method("string");
que estaba llamando:
Method(bool paramater);
ESTO ES COMPLETAMENTE MOLESTO. Estas reglas de resolución son insuficientes para lograr un concepto tan básico. Tal vez el enfoque intuitivo OP "por orden de declaración" haría un mejor trabajo. –