私はこのコードを書きましたが、現在、1 つの void コールバックを受け入れ、それに 1 つの値を渡すことができます。ただし、ユーザーが複数の引数を設定できるようにする方法はありますか? おそらく Callback Caller のようなものです。複数の型名を定義せずに Callback の代わりに? どういうわけか、これをすべて 1 つの型名に収めることはできますか?
たとえば、ここに私のクラスがあります
template <typename T>
class Callback
{
private:
std::vector<std::function <void (T)>> func;
public:
virtual void operator += (std::function<void (T)> _func)
{
func.push_back(_func);
}
};
私はこのように使用します:
Callback<int> Test;
関数に引数を 1 つだけ渡したい場合は、問題なく動作します。ただし、複数の型名を持たなくても、ユーザーが複数の値を定義できるようにすることは可能ですか?
いえ
Callback< <(int, int, int)> > Test;
それに似た何か?