O C ++ possui um recurso (não consigo descobrir o nome apropriado), que chama automaticamente os construtores correspondentes dos tipos de parâmetros se os tipos de argumento não forem os esperados. Um exemplo muito básico disso é chamar uma função que espera a std::stringcom um const...