E2301 クロージャ引数ではテンプレートを使用できない - typedef を使用すること (C++)
クロージャ型を宣言する場合,クロージャに渡される引数は単純型である必要があります。テンプレートは使用できません。テンプレート型のオブジェクトへの参照をクロージャに渡すには,typedef を宣言する必要があります。これで,単純型名とみなされます。
次に例を示します。
typedef my_class<int> mci;
typedef void (__closure * func) (const mci& object);