template "non-class type"
Bonjour,
Voila, je doit faire un programme qui dont le but est de créer une classe avec des Template qui permettront des faire un tableau d'élément avec des methode comme insert, delete, isEmpty ou autre. J'ai tester pour commencer avec des int, mais j'ai un problème des le insert:
Code:
C:\Users\varfendell\Desktop\Darmstadt\Pogramming\conteneur\main.cpp|10|error: request for member `insert' in `test', which is of non-class type `Container<int> ()()'|
Voici le code de ma classe main:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| #include <iostream>
#include "Container.cpp"
using namespace std;
int main()
{
Container<int> test();
int premier = 5;
test.insert(premier);
return 0;
} |
le code de contenair.h:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| /***********************************************************************
* Module: Container.h
* Author: varfendell
* Modified: mardi 1 juin 2010 19:39:53
* Purpose: Declaration of the class Container
***********************************************************************/
#ifndef DEF_Container
#define DEF_Container
using namespace std;
template<class Element>
class Container
{
public:
Container();
void insert(Element x);
void delet(Element x);
int size();
Element begin();
Element end();
bool isEmpty();
void for_each(void(*f)(Element&));
private:
Element tableauElement[];
int taille;
};
#endif |
et de container.cpp:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| #include "Container.h"
template<class Element>
Container<Element>::Container()
{
taille = 0;
this.tableauElement = new Element[taille];
}
template<class Element>
void Container<Element>::insert(Element x)
{
taille++;
Element temp = this.tableauElement;
this.tableauElement = new Element[taille];
this.tableauElement = temp;
this.tableauElement[taille-1] = x;
}
template<class Element>
void Container<Element>::delet(Element x)
{
}
template<class Element>
int Container<Element>::size()
{
return 0;
}
template<class Element>
Element Container<Element>::begin()
{
}
template<class Element>
Element Container<Element>::end()
{
}
template<class Element>
bool Container<Element>::isEmpty()
{
if (taille == 0)
return true;
else
return false;
}
template<class Element>
void Container<Element>::for_each(void(*f)(Element&))
{
} |