Sobre Las Directivas De Inclusi N
Los espacios en blanco son significativos dentro de los < > o los " " de una directiva de inclusión.
Ejemplo:
#include < iostream >
Solución: Eliminarlos espacios en blanco.
#include
Emplear < > en vez de " " para un archivo de cabecera que no es estándar.
Ejemplo:
#include
// O también
#include
Solución:Emplear " " y poner siempre el nombre completo del archivo de cabecera. Sólo para las cabeceras de la biblioteca estándar se puede emplear indistintamente < > o " " y con o sin .h
#include "unaclase.h"Incluir múltiples veces el mismo chero de cabecera.
Ejemplo:
#include "unaclase.h"
#include "unaclase.h"
Solución: Emplear las guardas de inclusión, que evita el problema de la redenición cuando seincluye la misma cabecera múltiples veces. Para evitar conflictos de nombres en las guardas, es conveniente elegir nombres largos y extraños. Todas las cabeceras estándar tienen guardas de inclusión,así que no hay que preocuparse en incluirlas varias veces.
Confundir la asignación (=) con el operador igualdad (==).
Ejemplo:
void Funcion(char *a)
{
if(a = NULL)
cout << "La cadena está vacía"<< endl;
else
cout << a << endl;
}
Mensaje de error: No se produce un mensa je de error. Siempre se va a ejecutar el código de la parte else (muestra (null), que es la representación en pantalla de unpuntero a cadena que vale NULL ), porque se está realizando una asignación en vez de una comparación.
Solución: No confundir los dos operadores.
void unaFuncion(char *a)
{
if(a == NULL)
cout << "Lacadena está vacía" << endl;
else
cout << a << endl;
}
Confundir el preincremento (
++a
) con el p ostincremento (
a++
). Ejemplo:
a = b++;
cout << "a y b tienen el mismo valor" << endl;
Mensa je deerror: No se pro duce un mensa je de error.
a
y
b
no tienen el mismo valor p orque
primero se realiza la asignación y luego se incrementa
b
, ya que se está empleando el op erador
p ostincremento....
Regístrate para leer el documento completo.