¿Por qué C++ requiere que el operador de conversión definido por el usuario solo pueda ser miembro no estático? ¿Por qué no está permitido usar funciones independientes como para otros operadores unarios? Algo como esto:operador de conversión como función independiente
operator bool (const std::string& s) { return !s.empty(); }
No entiendo su argumento. El ejemplo que proporcionó no es una conversión implícita. Por otro lado, la razón principal para definir un operador de conversión es usar conversión implícita. – shura
@shura Sí lo es. "foo" se convierte implícitamente en una cadena, que luego se convierte explícitamente en bool. He actualizado mi respuesta para aclarar esto. –
Neil, ahora veo tu punto. – shura