Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726

    [C] Passare una matrice come parametro

    Come da oggetto:
    come posso passare una matrice ad una funzione come parametro?

    Ci ho provato in vari modi e salse, anche seguendo dei libri di testo, ma mi viene restituito sempre qualche errore strano.

    Il compilatore che uso è g++.

    tnx

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Facci vedere qualche salsa che hai usato ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    se non metti nei parametri formali le dimensione, li devi mettere....

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Ad esempio:

    parametro attuale:
    matrice(M,r,c,x);
    parametro formale:
    int matrice(int M[][10], int r, int c, int x)

    cosa c'è di sbagliato?

  5. #5
    vedendolo cosi è perfetto...
    che errore ti da il compilatore?

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Ecco l'errore:
    codice:
    matrice.c: In function ‘int main()’:
    matrice.c:15: error: cannot convert ‘int (*)[(((unsigned int)(((int)c) - 1)) + 1u)]’ to ‘int (*)[10]’ for argument ‘1’ to ‘int matrice(int (*)[10], int, int, int)’

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Scusa ... ci fai vedere tutto il codice effettivo ... ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Non c'è praticamente nulla, lo stavo appena iniziando a scrivere.

    codice:
    int matrice(int M[][10], int r, int c, int x) {
    
     return 0;	
    } 
    
    int main() {
     int r,c,x;
     scanf("%i", &x, &r, &c);
     int M[r][c];
     matrice(M,r,c,x);
     return 0;
    }

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Non puoi dichiarare che la matrice ha una dimensione

    [][10]

    e poi scrivere

    int M[r][c];

    Le dimensioni della matrice dichiarata in quel modo devono essere COSTANTI.

    Altrimenti, se non sai quanto sara' grande la matrice, la devi allocare DINAMICAMENTE.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    edit: cosi funge.
    scusa.

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.