PDA

Visualizza la versione completa : [C++] Errori nella gestione di un vector


toni00c
28-02-2011, 13:14
ciao ragazzi sto facendo un po di pratica con questo splendido linguaggio ,

ho creato una classe "mate" , con qualche funzione membro , una funzione private di utilità e un dato menbro <vector>



class mate {

public :
mate () ; // costruttore
void welcome () ;
int calcoloDiPotenza ( int ) ;
int calcoloDifferenza (int , int ) ;

private:
void stampa (vector <int> num) ;
vector <int> numeri (6) ;

} ;




e ho implementato il tutto in questo modo



#include <iostream>
using::std::cout ;
using::std::cin ;



#include <string>
using::std::string ;

#include <vector>
using::std::vector ;




#include "mate.h"




mate::mate () // costruttore
{
size_t i ;
int x = 1 + rand () % 10 ;

for ( i = 0 ; i < numeri.size() ; i++ )
numeri[i] = x ;


}


void mate::welcome ()
{
cout <<"WELCOME IN THIS WORLD\n" ;
stampa ( numeri ) ;
}

int mate::calcoloDiPotenza ( int num)
{
int potenza ;
potenza = num * num ;
return potenza ;
}

int mate::calcoloDifferenza (int num , int potw)
{
int differenza ;
differenza = potw - num ;
return differenza ;
}

void mate::stampa (vector <int> num)
{
size_t i ;

for ( i = 0 ; i < num.size() ; i++)
cout << num[i] ;
}

non posto anche il main , è inutile

ora il problema è che in fase di compilazione mi da l'errore
1)Error 3 error C2228: left of '.size' must have class/struct/union

e

2)Error 4 error C3867: 'mate::numeri': function call missing argument list; use '&mate::numeri' to create a pointer to member

nel costruttore !


ora venendo dal C , gli array e i puntatori sono intercambiabili , questo però e un oggetto
della classe vector

mi dice che devo risolvere un riferiemento , ma non riesco a capire

grazie

shodan
28-02-2011, 17:54
Non puoi dichiarare la dimensione di un vector in quel modo, ma devi fare così:


private:
void stampa (vector <int> num) ;
vector <int> numeri;

...

mate::mate () : numeri(6) // costruttore

toni00c
28-02-2011, 18:43
grazie mille , sempre gentile e preciso!

voglio approfondire anche questo linguaggio , e con esso la programmazione orientata agli oggetti!

Loading