Buenas, ando con un problema entre el listado de argumentos y los templates..
main.cpp
Vector.h
Código C++:
Ver original#ifndef VECTOR
#define VECTOR
#include <stdarg.h>
template <typename t>
class Vector
{
private:
t* num;
public:
Vector(t nums, ...); // problema!
~Vector();
};
#endif
Vector.cpp
Código C++:
Ver original#include "Vector.h"
#include <iostream>
using namespace std;
template <typename t>
Vector<t>::Vector(t nums, ...) // problema!
{
t temp;
va_list ap;
for(int i=0; i<nums; ++i)
{
cout
<< va_arg(ap
, t
) << endl
; }
}
template <typename t>
Vector<t>::~Vector()
{
delete num;
}
Error:
Código devCpp:
Ver originalC:\Doc...\main.o(.text+0xa1) In function `main':
[Linker error] undefined reference to `Vector<int>::Vector(int, ...)'
[Linker error] undefined reference to `Vector<int>::~Vector()'
[Linker error] undefined reference to `Vector<int>::~Vector()'
C:\Doc...\main.o(.text+0xa1) ld returned 1 exit status
C:\Doc...\Makefile.win [Build Error] [Limit.exe] Error 1
El codigo anda bien sin stdarg o sin los templates... por X motivo no puedo usarlos al mismo tiempo...
Busque y encontre poco, existe la posibilidad de hacer esto? como seria?
saludos