PDA

Visualizza la versione completa : [C++] Guida HTML.it: 9 errori!!! Token e UNDECLARED


gemini_76_it
11-08-2005, 20:11
Dalla guida al linguaggio C++ qui pubblicata ho preso questo esempio dalla lezione 36, Passaggio di array a funzioni e ricevo alla compilazione una serie di errori di token relativi alla posizione dei ";" ")" nel ciclo for e nel main, oltre ad un UNDECLARED "vettore", perch forse l'autore prima crea nella FUNZIONE SOMMA un array chiamato array, del quale nn da i valori, per poi creare valori di un array VETTORE. Forse si confuso, cambiando il nome dell'array. Ma dico io, possibile che si pubblicano guide cos, senza testare i codici? Ai voglia di imparare...
Detto ci, io uso MINGW DEVELOPER STUDIO, avete qualche suggerimento da darmi? Magari su come settare le opzioni del compilatore ed in generale dell'ambiente (Praticamente lo sto utilizzando cos come di default all'installazione, con la conseguenza che spesso ricevo un warning relativo all'header iostream, che vuole senza estensione, nel 95% dei casi)? ANX721, se ci sei batti un colpo!!! Ah, bello quel Mazinga in OpenGL... Ho fatto un salto sul tuo sito)



/*
* Un semplice programma che illustra il
* passaggio di un array ad una funzione
*/

#include <iostream.h>
#define SIZE 5;

void somma(int array[ ])
{
int i;
int somma = 0;

for(i=0; i < SIZE; i++)
{
somma = somma + array[i];
}
cout << " La somma degli elementi dell'array " << somma << "\n";
}

int main( )
{
int vettore[SIZE] = {1,2,3,4,5};

somma(vettore);
return(0);
}



--------------------Configuration: 10-Console_Array - Debug--------------------

Compiling...

main.cpp

In file included from C:\Programmazione\MinGWStudio\MinGW\bin\..\lib\gcc \mingw32\3.4.2\..\..\..\..\include\c++\3.4.2\backw ard\iostream.h:31,

from main.cpp:6:

C:\Programmazione\MinGWStudio\MinGW\bin\..\lib\gcc \mingw32\3.4.2\..\..\..\..\include\c++\3.4.2\backw ard\backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.

main.cpp: In function `void somma(int*)':

main.cpp:14: error: expected primary-expression before ';' token

main.cpp:14: error: expected `)' before ';' token

main.cpp:14: error: expected `;' before ')' token

main.cpp: In function `int main()':

main.cpp:23: error: expected primary-expression before "int"

main.cpp:23: error: expected `;' before "int"

main.cpp:23: error: expected primary-expression before ']' token

main.cpp:23: error: expected `;' before ']' token

main.cpp:25: error: `vettore' undeclared (first use this function)

main.cpp:25: error: (Each undeclared identifier is reported only once for each function it appears in.)



main.o - 9 error(s), 1 warning(s)

energie
11-08-2005, 20:21
ma...ma....non eri un neofilita?Gi agli array?

gemini_76_it
11-08-2005, 20:31
Neofita del C++, ma qualche anno fa ho studiato PHP, poi con le estensioni GTK ho fatto dei bei programmi per il calcolo ingegneristico (sono ingegnere edile). Poi ho letto alcune guide introduttive del Python.

Cmq, vado veloce xk la sintassi del C++ mooolto simile a quella del PHP-GTK, nel quale mi sono anche arrangiato un po' con la OOP. Nient di che complicato, sono sempre un novello anche con PHP. E d'altronde non sviluppo codice da oltre un anno (dovevo ultimare gli studi universitari).

Cmq, qualche aiutino???

energie
11-08-2005, 20:41
beh da quanto vedo manca il prototipo di funzione,c' solo la definizione

void somma(int array[ ])
{
int i;
int somma = 0;

for(i=0; i < SIZE; i++)
{
somma = somma + array[i];
}

DydBoy
11-08-2005, 20:43
Togli il punto e virgola alla fine del #define SIZE

DydBoy
11-08-2005, 20:44
Originariamente inviato da energie
beh da quanto vedo manca il prototipo di funzione,c' solo la definizione



Il prototipo non obbligatorio.
Serve solo quando hai intenzione di utilizzare qualche funzione che viene dichiarata in seguito.
Se il problema non si pone non serve.

Loading