|
|
|
|
Strumenti |
22-10-2012, 14:42 | #1 |
Junior Member
Iscritto dal: Apr 2009
Messaggi: 22
|
[VB.NET] - Funzione con parametro di tipo diverso
Ciao a tutti!
Come si dichiara una funzione che riceve un parametro che può essere sia un double sia una matrice double(,) ? Mi spiego meglio. Ho creato una funzione con vb.net (2012 express) che servirebbe per moltiplicare 2 matrici. Fin qui tutto bene. Funziona. Adesso, però, vorrei utilizzare la stessa funzione per moltiplicare uno scalare per una matrice. Ovviamente, se passo alla funzione che ho creato lo scalare, mi da errore perchè non è una matrice. Da qui la domanda se esiste una sorta di metodo per dare a una funzione più prototipi (si dice così?). Un po' come la funzione di vb.net strings.mid(). Appena si digita compare il suggerimento che indica due modi per passare le variabili alla funzione. Al momento la funzione la dichiaro in questo modo: Function MatMult(ByVal PrimaMatrice As Double(,), ByVal SecondaMatrice As Double(,)) As Double(,) Ultima modifica di ryan79 : 22-10-2012 alle 14:47. Motivo: strings.mid() NON string.mid() |
22-10-2012, 15:43 | #2 |
Senior Member
Iscritto dal: May 2008
Messaggi: 429
|
la devi chiamare nello stesso modo (MatMult)
nel tuo caso sarebbe Function MatMult(ByVal Scalare As Double, ByVal Matrice As Double(,)) As Double(,) e ovviamente implementare il codice |
22-10-2012, 15:57 | #3 |
Junior Member
Iscritto dal: Apr 2009
Messaggi: 22
|
Grazie! Non ci sarei mai arrivato! Erano un po' di giorni che ci giravo attorno, ma non mi sarei mai immaginato che la soluzione fosse questa. Pensavo che si dovesse utilizzare qualche espressione particolare, ormai avevo quasi perso le speranze.
Grazie ancora! |
22-10-2012, 16:47 | #4 | |
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
Ultima modifica di [Kendall] : 22-10-2012 alle 16:49. |
|
23-10-2012, 12:17 | #5 |
Junior Member
Iscritto dal: Apr 2009
Messaggi: 22
|
Grazie anche a te per il suggerimento Kendall.
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:40.