L'elemento iniziale di errore C ++ non è costante

L'elemento iniziale di errore C ++ non è costante
In questo articolo, discuteremo di un errore del compilatore che un programmatore spesso ottiene durante la codifica in linguaggio C ++: "l'elemento iniziale non è costante". Per comprendere prima l'errore, dobbiamo comprendere lo sfondo degli inizializzatori e delle variabili globali. Quindi, le variabili globali sono quelle variabili che un programmatore definisce nella parte superiore del codice al di fuori delle funzioni. Una variabile dichiarata a livello globale manterrà il valore che viene archiviato in esso durante l'esecuzione del codice e non lo perderà una volta eseguita una funzione.

Il vantaggio della dichiarazione globale delle variabili è che possono essere utilizzate in qualsiasi funzione e in qualsiasi parte del codice. Ciò significa che possiamo usarli e i loro valori in tutto il nostro codice. È necessario per la programmazione C ++ che le variabili globali dovrebbero essere inizializzate con espressioni costanti. Se un programmatore o un programmatore dimentica o non è in grado di farlo, causerà l'errore discusso qui. Questo errore è anche causato se anche le variabili statiche non sono dichiarate. Quindi, per evitare un tale errore, è necessario passare un valore costante durante l'inizializzazione della variabile globale o passare 0. Quindi, questa è una regola definita dal linguaggio C ++. Se questa situazione si svolge, causerà questo errore. Quindi, per correggere questo tipo di errore, possiamo dichiarare variabili in una funzione o inizializzarle con un valore costante.

Sintassi:

Questa non è una funzione o una libreria integrata. Quindi, non ha una funzione standard per chiamarla. Invece, è un errore, quindi avrà un messaggio che verrà restituito se incontriamo tale errore.

Errore: l'elemento iniziale non è costante

Quello mostrato sopra è il messaggio di errore. Potrebbe cambiare in alcuni casi, ma il contesto del messaggio rimarrà lo stesso.

Esempio # 01:

Ora, per ottenere una migliore presa di questo errore e per capire questo errore in modo più dettagliato eseguiremo un esempio pratico. Fare, quindi abbiamo inizializzato le variabili globali "A" e "B". Il valore della variabile A è inizializzato per essere 100. Il valore di b è uguale a a. Ciò significa che qualunque sia il valore di A sarà lo stesso del valore di b. Nella nostra funzione principale, abbiamo stampato il valore di B con il messaggio "Il valore di B =". Non abbiamo scritto alcun codice complesso qui solo per chiarire il nostro punto. Nella riga 10 abbiamo restituito 0 perché la nostra funzione principale ha un numero intero come tipo di ritorno. Ora eseguiremo il nostro codice per vedere cosa succede.

#includere
Utilizzo dello spazio dei nomi std;
int a = 100;
int b = a;
int main ()

cout<<"The value of b="<restituzione 0;

Dopo aver eseguito il nostro codice, non abbiamo l'output desiderato. Invece del nostro output, il compilatore ci ha dato un errore che è "l'elemento iniziale non è costante". Successivamente, ci ha mostrato il codice in cui si è verificato l'errore e questo è il numero 3. Ora, se ricordiamo il nostro codice, abbiamo inizializzato il valore dell'intero b nella riga 3, il che significa che c'è un problema con quel pezzo di codice. Cerchiamo di risolvere questo problema.

Per risolvere il problema nella riga 3, abbiamo ricontrollato il nostro codice e abbiamo diagnosticato il problema. Abbiamo discusso in precedenza nell'introduzione che questo errore si verifica quando non dichiariamo una variabile che dichiariamo a livello globale nel nostro codice o non passiamo un valore costante ad esso. Lo stesso caso si è verificato qui. Abbiamo superato il valore dell'intero a a b. L'INTEGER A è una variabile, non una costante, quindi il suo valore potrebbe cambiare, quindi il compilatore ci ha mostrato l'errore.

Abbiamo inizializzato il valore di B a 100. Dopodiché, abbiamo eseguito il codice e il codice è stato compilato correttamente. Quindi, con questo esempio, abbiamo chiarito il punto che non possiamo passare un valore dinamico a una variabile globale.

Esempio # 02:

Questo è un esempio un po 'complesso rispetto a quello precedente, ma lo scopo di fare un esempio complesso è farti capire l'errore in modo più dettagliato. Per eseguirlo, abbiamo dichiarato quattro numeri interi x, y, z e io. I valori delle variabili X, Y e Z sono rispettivamente 10, 20 e 50 mentre "I" è un numero intero che non verrà utilizzato per eseguire alcuna operazione. Ma sarà usato come iteratore per il nostro ciclo che useremo nel nostro metodo principale. Possiamo anche dichiarare questo numero intero nel nostro metodo principale, ma l'abbiamo trovato facile, quindi l'abbiamo dichiarato qui.

È possibile dichiararlo nella funzione principale o in un ciclo. Dopodiché, abbiamo dichiarato un puntatore intero uguale a x. Nella riga 6 abbiamo dichiarato un array che è anche dichiarato a livello globale e ha superato tre valori perché ha una lunghezza di 3. Nel nostro metodo principale, abbiamo scritto un ciclo che verrà eseguito tre volte e stamperemo l'indirizzo degli indici dell'array e i valori memorizzati in quell'indice dell'array. Ora eseguiremo il nostro codice per vedere il nostro output.

#includere
Utilizzo dello spazio dei nomi std;
int a = 10, y = 20, z = 50, i;
int *p = & x;
int *arr [3] = p, & y, & z;
int main ()

per (i = 0; i<3; i++)
cout<<"Address ="<
restituzione 0;

Dopo l'esecuzione del nostro codice, il compilatore ci ha dato l'errore, il che significa che il nostro codice non viene compilato correttamente. Se diamo un'occhiata al messaggio del nostro errore, possiamo vedere che abbiamo lo stesso errore dell'esempio precedente. Questa volta si è verificato nella riga 6 del nostro codice. Se guardiamo il nostro codice e controlla la riga 6, stiamo inizializzando e dichiarando il nostro array nella riga 6. Quindi c'è stato un errore nel dichiarare o inizializzare il nostro array. Se guardiamo la parte inizializzante, possiamo vedere che abbiamo superato le variabili y e z secondo gli standard di programmazione, ma abbiamo passato X attraverso un puntatore. Il puntatore non è una variabile costante e il suo valore potrebbe cambiare. Quindi, il codice ha dato un errore.

Per risolvere l'errore, passeremo direttamente l'intero x e vedremo cosa succede.

Il codice è stato eseguito correttamente restituendo l'indirizzo e i valori degli indici del nostro array.

Conclusione

In questo articolo, abbiamo discusso di un errore che è "l'elemento iniziale non è corretto". Abbiamo discusso delle basi delle variabili globali e di come inizializzarle in base alle regole e agli standard di codifica. Abbiamo anche eseguito più esempi per ottenere questo errore e li abbiamo risolti.