The problem is that _test() is a member function.
Unlike a free function (a function that isn't part of a class), a member function needs to know what object it is called on. If you access member variables or call other member functions then the code needs to know on which object it needs access these members (since you may create multiple Ch_window objects).
Although you don't write any parameters, the c++ compiler will generate a function that is equivalent to the following:
void _test(Ch_window* this);
That is where the "this" object comes from that you can use within a class, behind the scenes it is a parameter passed to all your member functions.
So the function does have a parameter, which is what the connect call is complaining about (it doesn't know what value it has to pass to your this pointer).
Since TGUI needs to know on which object to call the _test function, you have to give it a pointer to the object. Since you are calling the connect function inside a member function of Ch_window and you obviously want to call the _test function on the same object, the pointer to the object is literally your "this" value. You also have to change the function name for it to work properly:
channels->connect("SizeChanged", &Ch_window::_test, this);
Alternatively, you can use a lambda function, which is similar to what TGUI will internally do when you write the above:
channels->connect("SizeChanged", [this]{ _test(); });