Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420

    [c++]passaggio di array multidimensionali

    salve a tutti,
    qualcuno saprebbe dirmi se sia possibile dichiarare dei metodi che permettano il passaggio di array multidimensionali senza dichiarare la dimensione di tale array?

    ad esempio qualcosa del tipo:
    int foo (mytype ***) {
    stuff
    }

    invece di
    int foo (mytype[10][20][30]){
    stuff
    }

    in quest'ultimo caso non viene copiato tutto l'array ma solo il puntatore a tale array multidimensionale giusto?

    l'array che sto passando è allocato sullo stack, non sull'heap

    bye
    the sALIEN

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Come hai allocato l'array in questione?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    questo era solo un esempio

    io sto usando un array del tipo:

    miotipo mioarray[50][50]

    ....
    ...

    foo(mioarray)
    the sALIEN

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    In questo caso puoi passare l'array con

    foo(miotipo a[50][50])

    o

    foo(miotipo a[][50])

    oppure con

    foo(miotipo *a)

    ma in quest'ultimo caso passi l'indirizzo del primo elemento e te la devi cavare tu, con l'aritmetica dei puntatori, per accedere ai vari elementi.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    ciao,
    quindi è possibile usare anche l'ultimo caso??

    è proprio questo che mi da errori..
    ho provato anche a mettere dei reference ma nisba.. sempre errori..

    cannot convert parameter 2 from 'miaclasse [50][50]' to 'miaclasse **'
    the sALIEN

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non ti ho detto di usare un doppio puntatore ma un puntatore semplice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    stesso errore:
    cannot convert parameter 2 from 'miaclasse [50][50]' to 'miaclasse *'

    ed in più:
    syntax error : missing ',' before '*'

    anche se non manca nessuna virgola..
    the sALIEN

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da thesalien
    stesso errore:
    cannot convert parameter 2 from 'miaclasse [50][50]' to 'miaclasse *'

    ed in più:
    syntax error : missing ',' before '*'

    anche se non manca nessuna virgola..
    Cioe' ? Quale codice hai scritto per chiamare la funzione ?

    Ti avevo scritto

    "... ma in quest'ultimo caso passi l'indirizzo del primo elemento ..."
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    hai ragione sorry
    chiamando:
    foo(&miovettore[0][0]);

    rimane l'errore della virgola che non mi spiego.. non manca nessuna virgola
    the sALIEN

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Se mostri tutto il codice e indichi la riga in cui si manifesta l'errore (che il tuo compilatore sicuramente ti indica) ...
    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.