/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Vector de genericos

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
amarques



Registrado: 25 Nov 2007
Mensajes: 2

MensajePublicado: 26/11/2007 12:08 am
Título: Vector de genericos

Hola debe ser una tonteria pero no consigo que funcione. Es simplemente que creo una clase vector de genericos es decir de cualquier tipo o clase. Me permite construirla pero al acceder a una función de la misma me dice qiue la función no es miembro:

15 C:\Dev-Cpp\proyectos\Vector\main.cpp 'class std::vector<int, std::allocator<int> >' has no member named 'push'

El código es el siguiente:
//****** Declaración de vector ********************
template <class T>
class vector
{
protected:
int size;
int capacity;
T* data;
public:
vector(int min,int max);
vector();
~vector();
void push();
};
//****** Declaración de vector ********************
El código es el siguiente:
//****** Declaración de vector ********************
template <class T>
class vector
{
protected:
int size;
int capacity;
T* data;
public:
vector(int min,int max);
vector();
~vector();
void push();
};
//****** Declaración de vector ********************
//****** Implementación de vector ********************
template <class T>
template <class T>
void vector<T>::push (){
if (data.size<capacity) {
data[size+1]=x;
}else{
resize(size);
}
}

//****** Implementación de vector ********************
//****** En el main ********************
//Instancio la clase vector
vector <int> v(i,j);
//Hago push sobre vector
int k=9;
v.push(k);
//****** En el main ********************


No veo nada que este mal alguien me puede ayudar???
Volver arriba
david_celta



Registrado: 02 Jun 2005
Mensajes: 151

MensajePublicado: 26/11/2007 2:47 pm
Título:

En el main le pasas un parametro a la funcion push y en la clase la funcion push no recibe ningun parametro

En la clase: void push();

En el main: v.push(k);

Te deberia salir error en la definicion dado que le pasas un x a data que no existe (la variable x no esta definida)

template <class T>
void vector<T>::push (){
if (data.size<capacity) {
data[size+1]=x;////////////////////// AQUI
}else{
resize(size);
}
}

bueno eso quiza sea el error
_________________
In all your fantasies,
you always knew
that man and mystery...

...were both in you...
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com