[Débutant]Foncteur et operator() template
Bonjour à tous.
Je me suis récemment mis en tête de développer quelques petites classe pour faciliter le développement de mes programmes. Je suis développeur amateur(ainsi que débutant) et par conséquent c'est volontaire que je réinvente la roue.
J'ai donc décidé de me faire une class New qui compterait le nombre de bytes alloué pour vérifier qu'il n'y a pas de fuite mémoire.
Code:
1 2 3 4 5 6 7 8 9 10
|
class New
{
public :
template<class T> T* operator() (void);
};
template<class T> T* New::operator() (void)
{
return new T;
} |
Et je pensais pouvoir l'utiliser ainsi :
Code:
1 2 3 4 5 6 7
|
int main(void)
{
int* n = New<int>();
return EXIT_SUCCESS;
} |
Et voilà donc les erreurs que j'obtiens :
error: expected primary-expression before "int"
error: expected `,' or `;' before "int"
Ma question est donc simple : Quel chapitre sur les templates et les foncteurs ai-je loupé ?