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>

codice:
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

codice:
#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