Pojawil sie problem podczas uzywania szablonow klas w projektach majacych kilka plikow. Oto te pliki:
main.cpp:
Kod: Zaznacz cały
#include "array.h"
#include "main.h"
int main()
{
array<int> tabliczka;
//array tabliczka;
return 0;
}
Kod: Zaznacz cały
#ifndef MAIN_H_INCLUDED
#define MAIN_H_INCLUDED
#include <iostream>
using namespace std;
// jakies tam funkcje
#endif // MAIN_H_INCLUDED
Kod: Zaznacz cały
#include "array.h"
template<class type> array<type>::array()
{
cout << "Konstruktor." << endl;
}
template<class type> array<type>::~array()
{
cout << "Destruktor." << endl;
}
/*
array::array()
{
cout << "Konstruktor." << endl;
}
*/
/*
array::~array()
{
cout << "Destruktor." << endl;
}
*/
Kod: Zaznacz cały
#ifndef ARRAY_H_INCLUDED
#define ARRAY_H_INCLUDED
#include <iostream>
using namespace std;
template<class type> class array
{
public:
array();
~array();
};
/*
class array
{
public:
array();
~array();
};
*/
#endif // ARRAY_H_INCLUDED
Kod: Zaznacz cały
obj\Debug\main.o||In function `main':|
C:\Program Files\CodeBlocks\My\Projekt2\main.cpp|7|undefined reference to `array<int>::array()'|
C:\Program Files\CodeBlocks\My\Projekt2\main.cpp|8|undefined reference to `array<int>::~array()'|
||=== Build finished: 2 errors, 0 warnings ===|