Ik ben bezig met een schoolopdracht en bij de eerste de beste opdracht waar ik templates bij nodig heb loop ik vast. Ik zal er wel overheenkijken! Zien jullie wat er mis is?
Array.h
-------------------------------
const int DefaultSize = 10;
template <class T>
class cArray
{
public:
cArray(int Size = DefaultSize);
~cArray() { delete [] pType; }
int GetSize() const { return iSize; }
private:
T *pType;
int iSize;
};
Array.cpp
--------------------------------------
#pragma hdrstop
#include "Array.h"
#pragma package(smart_init)
// Default constructor
template <class T>
cArray<T>::cArray(int Size)
{
iSize = Size;
pType = new T[iSize];
for (int i = 0; i < iSize; i++)
pType[i] = 0;
}
main.cpp
-----------------------------------------------
#include "Array.h"
#pragma hdrstop
#pragma argsused
int main(int argc, char* argv[])
{
cArray<int> intArray;
return 0;
}
De melding welke rond blijft spoken:
[linker error] Unresolved external 'cArray<int>::cArray<int>(int)'
Ik gebruik Borland C++Builder 6
Array.h
-------------------------------
const int DefaultSize = 10;
template <class T>
class cArray
{
public:
cArray(int Size = DefaultSize);
~cArray() { delete [] pType; }
int GetSize() const { return iSize; }
private:
T *pType;
int iSize;
};
Array.cpp
--------------------------------------
#pragma hdrstop
#include "Array.h"
#pragma package(smart_init)
// Default constructor
template <class T>
cArray<T>::cArray(int Size)
{
iSize = Size;
pType = new T[iSize];
for (int i = 0; i < iSize; i++)
pType[i] = 0;
}
main.cpp
-----------------------------------------------
#include "Array.h"
#pragma hdrstop
#pragma argsused
int main(int argc, char* argv[])
{
cArray<int> intArray;
return 0;
}
De melding welke rond blijft spoken:
[linker error] Unresolved external 'cArray<int>::cArray<int>(int)'
Ik gebruik Borland C++Builder 6