2010-11-10 12 views
6

obtengo un error extraño en mi programa. mi compilador me dice:error de fin de programa extraño

expected `}' at end of input 
expected unqualified-id at end of input 
expected `,' or `;' at end of input 

y su destacando la última línea de mi código, que es el corchete de cierre para mi función main(). He comentado todo el código en int main(), pero todavía se niega a compilar. revisé si faltaba ";" y no hay nada. SciTE comprueba paréntesis y corchetes y esas cosas, así que sé que todo está cerrado correctamente. no parece estar haciendo nada loco en absoluto

incluiría las clases causar estos errores?

#include <iostream> 
#include <fstream> 
#include <vector> 

#include "commands.h" 


int main(){ 

} 

si hay un problema en los comandos.h, ¿se manifestaría en el último corchete?

+2

¿Puedes publicar tu código? – birryree

+2

¿Tienes algún personaje que no sea ASCII? Compruebe el espacio y las comillas, si las copió de la web/palabra. –

+2

Cuando "#includes" un archivo, el compilador esencialmente inserta la copia de ese archivo en su código fuente. Así que sí, si un archivo que está '# include' -ing tiene un error como un punto y coma faltante después de la definición de la clase, puede manifestarse en su archivo de origen. – indiv

Respuesta

11

Probablemente haya olvidado el punto y coma después del corchete de cierre en una definición de clase o estructura.

class C 
{ 
} // <<-- HERE, semicolon needed 

Una de las otras cosas que pueden aparecer hay una declaración de variables:

class C 
{ 
} c; // <<-- creates a global variable of type "class C" 

Dado un nombre de variable es una sin reservas-id, esto explica su mensaje de error.

+0

, desafortunadamente. Revisé los puntos y comas. no hay nada después del corchete de cierre de la clase excepto el ";" – calccrypto

+0

@calccrypto: ¿En cada clase, incluidas las de los archivos de encabezado? –

+1

encontré el error. resulta ser un extra "{" en los prototipos de clase – calccrypto