Tengo una función que me da el error "no puedo convertir de 'int' a 'int &'" cuando intento compilarla.Funciones de referencia en C++
int& preinc(int& x) {
return x++;
}
Si sustituyo x ++ con x, se compilará, pero no estoy seguro de cómo lo hace diferente. Pensé que x ++ devuelve x antes de que incremente x, entonces ¿no debería "devolver x ++" ser lo mismo que "devolver x" con respecto a lo que devuelve Preinc? Si el problema es con el operador ++ actuando en x, entonces ¿por qué no generará ningún error si coloco la línea "x ++" antes o después de la instrucción return, o reemplace x ++ con ++ x?
Llamaría a esto "postinc" en lugar de "preinc" .... –
Gracias a todos los que respondieron la pregunta. No me di cuenta de que x ++ hizo una copia temporal. Tiene sentido ahora. –
se espera que usted acepte una de las respuestas a continuación. –