Espacios de nombres
Variantes

Conversiones implícitas

De cppreference.com
 
 
 
 

Las conversiones implícitas se realizan cada vez que una expresión de algún tipo T1 se utiliza en un contexto que no acepta ese tipo, pero acepta algún otro tipo T2; en particular:

  • cuando la expresión se utiliza como el argumento al llamar a una función que se declara con T2 como parámetro;
  • cuando la expresión se utiliza como un operando con un operador que espera T2;
  • cuando se inicializa un nuevo objeto de tipo T2, incluyendo la instrucción return en una función que devuelve T2;
  • cuando se usa la expresión en una instrucción switch (T2 es de tipo entero);
  • cuando se usa la expresión en una instrucción if o un bucle (T2 es de tipo bool).

El programa está bien formado (se compila) sólo si existe una secuencia de conversión implícita inequívoca de T1 a T2.

Si hay varias sobrecargas de la función o el operador que se llama, después que la secuencia de conversión implícita se construye a partir de T1 para cada T2 disponible, las reglas de resolución de sobrecarga deciden cuál sobrecarga se compila.

Nota: En expresiones aritméticas, el tipo de destino de las conversiones implícitas en los operandos dados a los operadores binarios se determina por un conjunto de reglas separado: conversiones aritméticas habituales.