Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [C++] Accesso dati

  1. #1

    [C++] Accesso dati

    Toglietemi un fetentissimo dubbio...

    creo sta struttura:

    vector< priority_quoue <Carta *> > Mazzo;

    Secondo voi come devo inizializzarlo?

    Come c inserisco gli elementi nei rispettivi bucket???
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  2. #2
    Se faccio

    Mazzo.empty() tutto OK!

    Ma

    Mazzo[0].empty() errore in compilazione...
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  3. #3
    Originariamente inviato da Habdul
    Se faccio

    Mazzo.empty() tutto OK!

    Ma

    Mazzo[0].empty() errore in compilazione...
    Questo perchè empty() è una funzione che restituisce true se il vettore è vuoto, non se un elemento del vettore è vuoto

    Per riempire il vettore puoi fare

    Carta elemento; //mi pare che sia così che inizializza un oggeto, ma non ricordo :P
    Mazzo.push_back( &elemento );

  4. #4
    Ma c vuole "&" vicino all'elemento che deve essere inserito!?!?!?!?
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  5. #5
    Mi sono inventato questa specie di test per capirne il funzionamento:

    codice:
     
     void Mazzo_personale::inserisci_carta(Carta* new_card)
     {
     cout << "Inserisco la carta" << endl;
     
     int i = new_card->get_colore();
     
     if(Mazzo.empty())
      cout << "Vettore vuoto" << endl;
     else
      cout << "Vettore pieno" << endl;
      
      cout << "Posizione bucket " << i <<  endl;
     
     
     if(Mazzo[0].empty())
      cout << "Bucket vuoto" << endl;
    
    }
    ...questo compila...quindi mi conviene inizializzare il vettore con elementi "vuoti" all'inizio e poi caricare il bucket!!! ^_^

    Mi sapete dire come inizializzare un vettore "privato" nel costruttore?
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  6. #6


    questo è il costruttore...

    codice:
    Mazzo_personale()
        { 
         int i;
         
         priority_queue<Carta *> vuoto;
         
         for(i = 0; i < NUM_TIPI; i++)
          Mazzo.push_back(vuoto); 
         }
    Linguaggi : C/C++
    SO: WinXP, Slack 10

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.