Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    86

    Sintassi per i vector

    Ciao a tutti ho la seguente riga di codice che mi da errore:
    Knapsack KS = new Knapsack(Capacity, new (Vector) weights, new (Vector) values);
    mi dice '(' or ')' or '[' expected.
    Volevo sapere la sintassi corretta quando come parametro passo un vector.

  2. #2
    Ciao, per quanto ne so io, un vettore va creato così (con le parentesi in questo modo):


    Vector miovettore=new Vector();


    e puoi metterci dentro quello che ti pare.
    Sicuramente il problema te lo dà perchè tu scrivi new (Vector)weight, e quelle parentesi lì non hanno alcun senso.
    Infatti in quel modo stai cercando di effettuare un cast da weight a Vector, mentre lo crei.

    Se la tua intenzione è di passare un vettore nuovo, allora scrivi soltanto new Vector(), in questo modo:
    Knapsack KS = new Knapsack(Capacity, new Vector(), new Vector());

    Se invece vuoi dare un nome al vettore, allora definiscilo fuori dalla chiamata al metodo, così:

    Vector weights=new Vector();
    Vector values=new Vector();
    Knapsack KS = new Knapsack(Capacity, weights, values);


    Spero di esserti stato d'aiuto.
    Ciao,
    Emanuele

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    86

    risposta

    Ho provato come dici tu ma mi da un'altro errore mi dice "cannot find symbol",e invece nel costruttore che sintassi devo usare come parametri formali dei vector?

  4. #4
    qual'è il simbolo che non trova?
    Se parli di weights e values, quando li utilizzi devi assicurarti che siano visibili nel punto dove li utilizzi.

    Ovvero, basta che tu metta le definizioni:

    Vector weights=new Vector();
    Vector values=new Vector();

    subito sotto l'inizio della classe, così quelle due variabili saranno visibili da tutti i metodi della classe stessa.

    A questo punto, riguardo il costruttore, non so di quale tu stia parlando. Del costruttore della classe Knapsack?
    Se sì, dovrai scriverlo (in una classe di nome Knapsack) in questo modo

    public Knapsack(int capacità, Vector vettore1, Vector vettore2){
    ...
    }

    dove vettore1 e vettore2 sono nomi che puoi mettere a piacimento.
    Nota: ho ipotizzato che capacity sia un intero (se non è così devi cambiare "int" con il tipo di dato opportuno). La cosa importante è che i tipi siano quelli giusti e nell'ordine giusto, i nomi puoi metterli come ti pare.

    Comunque scrivi un po' di codice e spiega meglio il contesto, sennò non riesco a capire...

    Bye bye

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 © 2025 vBulletin Solutions, Inc. All rights reserved.