sto cercando di compilare questo codice C++:C++ - errore di sintassi C2144: 'int' dovrebbe essere preceduto da ';'
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "general_configuration.h"
#include "helper_functions.h"
#define LINE_LEN 80
// file_with_as_ext returns 1 if the input has .as extension
int file_with_as_ext(char* input)
{
char* dot_value = strchr(input, '.');
if (dot_value == NULL)
return 0;
else
{
if (strcmp(dot_value,".as") == 0)
return 1;
}
}
Ma sto ottenendo l'errore "C2144: syntax error : 'int' should be preceded by ';'"
E non riesco a capire il motivo per cui, #define non ha bisogno ';' alla fine.
ides?
Sembra che tu abbia qualcosa in 'helper_functions.h' che dovrebbe terminare con un punto e virgola, ma non lo fa. –
Non necessariamente deve essere a causa di define, ma potrebbe anche essere causa di qualcosa nel file di intestazione, come una struct, o una classe, che non hai chiuso correttamente. Controlla anche le intestazioni personalizzate e pubblica il loro contenuto, se non riesci a trovarlo lì. – ATaylor
Dopo aver corretto l'intestazione, quindi * sostituisci '# define' * con una definizione costante C++, sostituisci l'uso di matrici' char' grezze con 'std :: string', e sprikle un generoso aiuto di' const' all oltre il posto. –