Nwlapcug.com


Errori di sintassi in C++

Uno dei più semplice e spesso più difficili da trovare errori nella programmazione è un errore di sintassi. Come codice cresce in dimensioni e complessità, piccoli errori nella sintassi possono sorgere e causare mal di testa. In un conciso e semplice linguaggio di programmazione come C++, sintassi svolge un ruolo importante nel funzionamento del linguaggio. Alcuni errori di sintassi comuni in provenire C++ simboli dimenticati o fuori luogo (ad esempio un punto e virgola, parentesi e parentesi), utilizzando istruzioni errate condizionale in ciclo di strutture, assegnazione dei tipi di dati non corretti per le variabili e abusare di puntatori e riferimenti.

Uso improprio di simboli di base

C++ utilizza un set di simboli per rappresentare determinate condizioni. Il punto e virgola (;), ad esempio, indica la fine di una riga di codice. Una riga di codice deve terminare con un punto e virgola, o ci sarà un errore. Inoltre, blocchi di codice che fanno parte di istruzioni "if" di loop devono risiedere all'interno di parentesi graffe. Questo esempio Mostra come questi errori potrebbero venire nel codice:

while (1)

(/ / blocchi di codice devono figurare tra parentesi graffe, parentesi di non

int i = 1;

Se (i % 2 = = 0)

{

stampa i / / nessun punto e virgola per mostrare la fine dell'istruzione

}

i + +;

}

Istruzioni condizionali in loop

Strutture iterative in C++ richiedono istruzioni condizionali che restituiscono valori vero o falso che determinano o meno il ciclo continuerà o no. Tuttavia, la condizione del ciclo in realtà deve produrre un valore di verità, un valore numerico o mediante un confronto dei valori. Inoltre, diversi loop richiedono informazioni diverse. Nell'esempio seguente vengono visualizzati due errori fatti utilizzando un ciclo "while" e un ciclo "for":

int i = 0;

while (1) / / 1 è uguale a true in C++, questo ciclo verrà eseguito all'infinito

{

per (ho; i < = 5; i--) //this ciclo non smetterà mai perché io non sarà mai superiore a 5

{

/fare cose/

}

}

Mancata corrispondenza tra il tipo di variabile e il tipo di dati

C++ è un linguaggio fortemente tipizzato, che significa che i programmatori devono dichiarare il tipo di variabile quando si dichiara la variabile. Una variabile di tipo "integer" deve contenere un numero intero, e assegnarlo a qualsiasi altro tipo creerà un errore. In questo esempio, alcune variabili di vari tipi vengono assegnate i tipi di dati che non corrispondono a:

int i = 2.5 / / assegnazione di un galleggiante decimal in un valore integer

char h = "Hello" / / assegnare una stringa a una variabile di tipo carattere

int j = "HI" / / assegnazione di una stringa a una variabile integer

Puntatori e riferimenti

I puntatori sono tipi di dati che fanno riferimento a un indirizzo in memoria piuttosto che la detenzione dei dati. Per questo motivo, puntatori essenzialmente "scegliere" un blocco di memoria, piuttosto che direttamente che tiene i dati. "Dereferenziando" il puntatore del mouse (utilizzando il "*" simbolo), il programmatore può accedere ai dati in memoria. Tuttavia, la differenza tra un puntatore e il valore a che cui punta può causare confusione, come nell'esempio seguente:

int i = 3;

int * j = & i; j ora punta a un indirizzo di i

j = i; punti di ora j per l'indirizzo di memoria 3, non contiene il valore 3

* j = i; ORA la memoria a cui fa riferimento j contiene il valore 3