Błąd kompilacji - konstruktor

0

Mam problem. Potrzebuję skorzystać z szablonów w mojej klasie, jednak nie do końca wiem jak. Stworzyłem w konstruktorze tablicę dynamiczną, niestety przy kompilacji wyskakuje mi "error C2533: 'Elementy<typ>::Elementy' : constructors not allowed a return type ". Próbowałem już różnych konfiguracji i nic nie pomaga, a męczę się z tym już bardzo długo. Proszę o pomoc.
.h

#pragma once
#include <iostream>
using namespace std;

template<class typ>class Elementy
{
protected:
	typ *tab;

public:
	Elementy(int=1);
	~Elementy();
};

.Cpp

#include "stdafx.h"
#include "Elementy.h"
using namespace std;


template<class typ>typ Elementy<typ>::Elementy(int i)
{
	tab = new typ[i];
}

template<class typ> Elementy<typ>::~Elementy()
{
	delete[] tab;
}
0
  1. Wstaw kod między <code><code class="cpp"></code></code>, nie <quote></quote>
  2. Implementację klasy szablonowej musisz mieć w pliku nagłówkowym (czyli nie możesz dzielić na .h i .cpp), inaczej jak będziesz próbował w innym pliku dołączyć szablon i korzystać z niego, to wyskoczy błąd.
template<class typ> Elementy<typ>::Elementy(int i)
...
template<class typ> Elementy<typ>::~Elementy()
0

Dziękuję bardzo, a ja tyle nad tym siedziałem. :3

1 użytkowników online, w tym zalogowanych: 0, gości: 1