now i'm testing inside of a class, but i get several errors
Code:
//events.h
#ifndef events_H_INCLUDED
#define events_H_INCLUDED

#include <functional>
#include <vector>

template <typename ... b>
class events
{
public:
    typedef std::function<void(b...argx )> OnSomethingHandler;

    events(OnSomethingHandler Handler)
    {
        handlers_=Handler;
    }

    void operator ()(b... args)
    {
        handlers_(args...);
    }
    events& operator = (OnSomethingHandler Handler)
    {
        handlers_ = Handler;
        return *this;
    }

private:
    OnSomethingHandler handlers_;

};

#endif // events_H_INCLUDED
and how i use it:

Code:
#include <iostream>
#include "events.h"

using namespace std;

class test
{
private:
    int x=20;
    int y=0;
public:
    events<int, int> created;
    events<int, int> move;

    test()
    {
        created([](int a, int b) { ; });
        created(x,y);

    }

    void setX(int s)
    {
        x=s;
        move=([](int a, int b) { ; });
        move(x,y);
    }
};

int main()
{
    test a;
    a.created=[](int a, int b)
    {

        if (b==0)
            cout << "you can't divide by zero";
        else
            cout << (a/b);

    };
    a.created(8,2);
    a.Move=[](int a)
    {
        if (a<0)
            cout << "hide";
        else
            cout << "show";
    }
    a.setX(10);
   cin.get();
}
"what i need is the class call the events object and pass to it same values(depending on object class members).
but seems that i get several errors:
like declaring 2 events
heres the errors messages:
C:\Users\Joaquim\Documents\CodeBlocks\My Class\main.cpp||In constructor 'test::test()':|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\main.cpp|16|error: no matching function for call to 'events<int, int>::events()'|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\main.cpp|16|note: candidates are:|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|13|note: events<b>::events(events<b>::OnSomethingHandler) [with b = {int, int}; events<b>::OnSomethingHandler = std::function<void(int, int)>]|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|13|note: candidate expects 1 argument, 0 provided|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|8|note: events<int, int>::events(const events<int, int>&)|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|8|note: candidate expects 1 argument, 0 provided|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|8|note: events<int, int>::events(events<int, int>&&)|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|8|note: candidate expects 1 argument, 0 provided|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\main.cpp|16|error: no matching function for call to 'events<int, int>::events()'|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\main.cpp|16|note: candidates are:|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|13|note: events<b>::events(events<b>::OnSomethingHandler) [with b = {int, int}; events<b>::OnSomethingHandler = std::function<void(int, int)>]|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|13|note: candidate expects 1 argument, 0 provided|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|8|note: events<int, int>::events(const events<int, int>&)|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|8|note: candidate expects 1 argument, 0 provided|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|8|note: events<int, int>::events(events<int, int>&&)|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|8|note: candidate expects 1 argument, 0 provided|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\main.cpp|17|error: no match for call to '(events<int, int>) (test::test()::__lambda0)'|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|8|note: candidate is:|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|18|note: void events<b>:perator()(b ...) [with b = {int, int}]|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\events.h|18|note: candidate expects 2 arguments, 1 provided|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\main.cpp||In function 'int main()':|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\main.cpp|43|error: 'class test' has no member named 'Move'|
C:\Users\Joaquim\Documents\CodeBlocks\My Class\main.cpp|50|error: expected ';' before 'a'|
||=== Build finished: 5 errors, 0 warnings (0 minutes, 6 seconds) ===|"
what i'm doing wrong?