Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Gipple
    Registrato dal
    Mar 2009
    Messaggi
    41

    [C++] Problemi strani Array in Visual C++?

    Buongiorno a tutti. Ieri avevo fatto una domanda decisamente stupida sugli array ed oggi mi tocca fare altrettanto purtroppo. Ieri non l'ho detto, ma sto aiutando un ragazzo con degli esercizi sulla programmazione degli array e strutture varie. Personalmente io ho sempre utilizzato gcc sotto Linux o dev-cpp, ma per aiutare il ragazzo ho installato Visual Studio 2010 (è abituato ad usare quello) ma purtroppo mi da un sacco di problemi che io non ho mai avuto.
    Ad esempio, ho provato a creare e inizializzare gli elementi di un array in questo modo:

    codice:
    int n,i;
    cout << "Inserire numero di elementi dell'array ...\n ";
    cin >> n;
    int array[n];
    for(i=0;i<n;i++) {
         cout << "Inserire elemento " << i+1 << " :";
         cin >> array[i];}
    Cosa che con dev-cpp ho sempre fatto, ma Visual Studio invece non compila, dicendomi:

    error C2057: prevista espressione costante
    error C2466: impossibile allocare una matrice di dimensione costante
    error C2133: 'array': dimensione sconosciuta

    Tutti errori che puntano alla riga in cui dichiaro l'array, perchè? Ci ho perso sopra almeno venti minuti senza venire a capo di nulla ... qualcuno di voi può aiutarmi? Grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Con Dev utilizzi il compilatore mingw che è compliant C99 e supporta gli array "Variable-Length". Cosa non possibile con i compilatori MS che non sono C99 e non permettono (a mio personale parere, utilmente ...) questo tipo di caratteristica.

    Devi utilizzare gli array dinamici e l'allocazione dinamica con new/delete
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Gipple
    Registrato dal
    Mar 2009
    Messaggi
    41
    Ah ... questa non la sapevo.
    Domanda ancor più stupida però, come li gestisco? voglio dire a sentire il ragazzo i puntatori non li hanno ancora visti ...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non c'è altro modo ... allocazione dinamica.

    Oppure, allochi staticamente il vettore per un max di Z elementi maggiore di n in input e utilizzi solo i primi n. Ma devi stare attento che n non superi Z (e comunque sprechi memoria).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.