Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    12

    [C++] Vettori e funzioni, errore: no match for "operetor=="

    Ciao ragazzi! stavo provando a ricercare un elemento in vettore, ma mi segnala errore nella riga con il commento e mi dice:

    in function void ricerca(std::vector<int, std::allocator<int> >*, int):
    no match for 'operetor==' in '°((+(((unsigned int)i) *12u))+ list) == ricerca'

    il codice è questo:
    codice:
    #include <iostream>
    #include <vector>
    
    using namespace std;
    void ricerca(vector<int> list[10],int ricerca);
    
    int main(){
        
        
        }
        
    void ricerca(vector<int> list[10],int ricerca)
         {
         bool trovato = false;
         int pos = -1;
         for (int i = 0; i < 10; i++)
                 {
                  if (list[i] == ricerca)//ERRORE
                         {  
                            trovato = true;
                            pos = i;
                            break;
                          }
                  }
         if (trovato) cout<<"Il numero e' stato trovato alla posizione: "<<pos<<endl;
         else cout<<"Il numero non e' stato trovato."<<endl;
         
         }
         
    void rimuovi(vector<int> list[10], int ricerca){
         
         
         }

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Stai passando un array di vector, non un singolo vector, e ogni elemento dell'array restituisce un vector<int> non un int.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    12
    ah ok quindi per definire un signolo vettore devo togliere [10] sostanzialmente giusto? ora ne sto definendo 10..

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Si. Dopo di che nelle funzioni puoi usarlo anche per saperne la dimensione.
    Tra l'altro, visto che non ne modifichi il contenuto, è meglio passarlo per const reference
    codice:
    void ricerca(const vector<int>& list,int ricerca)
         {
         bool trovato = false;
         int pos = -1;
    
         std::size_t sz = list.size();   // dimensione del vector
         for (int i = 0; i < sz; i++)    
    
                 {
                  if (list[i] == ricerca)//ERRORE
                         {  
                            trovato = true;
                            pos = i;
                            break;
                          }
                  }
         if (trovato) cout<<"Il numero e' stato trovato alla posizione: "<<pos<<endl;
         else cout<<"Il numero non e' stato trovato."<<endl;
         
         }
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

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.