Infatti se funzionava non avrei postato il quesito. Qual'e' quindi la giusta assegnazione passando una matrice per referenza, sempre che sia possibile farlo?
Ciao, secondo me dovresti pensare a due tipi di soluzione!
Se proprio vuoi passare per referenza, dovresti usare un puntatore a puntatore int **matrice, allocarlo dinamicamente "trovi esempi online, allocare matrice dinamicamente", e poi puoi passare il puntatore alla libreria e assegnarlo a un puntatore locale, int **p=matrice.
Secondo modo se non vuoi allocare dinamicamente, è passare la matrice alla libreria, nel costruttore tramite ciclo for, copi tutti gli elementi in una matrice dichiarata nella libreria, ma in questo caso avresti una copia.
la copia dell'array e' da scartare perche' le funzioni della libreria devono elaborare i dati della matrice che serviranno al modulo principale, senza calcolare che le matrici saranno 1276 e 325, quindi la copia sarebbe comunque troppo onerosa.
Provero' a vedere se la ricerca da te suggerita potra' aiutarmi perche' il mio problema non e' tanto passare una matrice quanto avere una matrice visibile all'interno della libreria che punti alla matrice passata.
maxscorda:
Infatti se funzionava non avrei postato il quesito. Qual'e' quindi la giusta assegnazione passando una matrice per referenza, sempre che sia possibile farlo?
Max
Non ti do soluzioni perché dalla prima domanda che fai non si capisce se vuoi copiare tutta una matrice in un colpo o lavorare per referenza ma lavorando su un singolo elemento.
Ripeto, non si può copiare una matrice/vettore in un colpo solo, devi fare un ciclo elemento per elemento
oppure usare una memcpy() (occhio però lavora a byte)
Una matrice/vettore viene sempre passato per referenza, MAI per copia (si può forzare con un trucco)