wrong number of template arguments

Dear all,
I have the following class:
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
template < class Class, typename ReturnType,typename Parameter1 = void , typename Parameter2 = void, typename Parameter3 = void, typename Parameter4 = void >
class EventHandlerAbstract
{
public:

 typedef ReturnType (Class::*Method)(Parameter1, Parameter2, Parameter3, Parameter4);

 EventHandlerAbstract(Class* _class_instance, Method _method)
 {
    class_instance = _class_instance;
    method        = _method;
 };
 ReturnType operator()(Parameter1 parameter1, Parameter2 parameter2=0, Parameter3 parameter3=0, Parameter4 parameter4=0)
 {
    return (class_instance->*method)(parameter1, parameter2, parameter3, parameter4);
 };

 ReturnType execute(Parameter1 parameter1, Parameter2 parameter2, Parameter3 parameter3, Parameter4 parameter4)
 {
    return operator()(parameter1, parameter2, parameter3, parameter4);
 };
 Class *makeInstance(Class *_class_instance,Method _method,ReturnType _returnType,Parameter1 parameter1,Parameter2 parameter2, Parameter3 parameter3, Parameter4 parameter4){

     return (new EventHandlerAbstract<&_class,_returnType,parameter1, parameter2, parameter3, parameter4> (&_class_instance,&_method));


 };

protected:
 static vector <int > functionNamesList;
 static vector <int > eventNamesList;
 Class*  class_instance;
 Method  method;
};

But when i compile it, i get two errors:
one : " error: wrong number of template arguments (1, should be 6)" in return line of makeInstance function and another : "error: provided for 'template<class Class, class ReturnType, class Parameter1, class Parameter2, class Parameter3, class Parameter4> class EventHandlerAbstract'" in definition of class line. Please explain me those errors, i don't understand about them.
Topic archived. No new replies allowed.