En C y C ++, es muy fácil escribir el siguiente código con un error grave.
char responseChar = getchar();
int confirmExit = 'y' == tolower(responseChar);
if (confirmExit = 1)
{
exit(0);
}
El error es que la declaración if debería haber sido:
if (confirmExit == 1)
Según lo codificado, saldrá cada vez, porque se confirmExitproduce la asignación de la variable, y luego confirmExitse utiliza como resultado de la expresión.
¿Hay buenas maneras de prevenir este tipo de error?
if (confirmExit).
a = bo a == bdentro de un condicional.