Explorar o código

sigh: cool, I keep doing the same error again and again apparently :)

Michele Caini %!s(int64=3) %!d(string=hai) anos
pai
achega
0efa25cf61
Modificáronse 1 ficheiros con 8 adicións e 3 borrados
  1. 8 3
      src/entt/signal/sigh.hpp

+ 8 - 3
src/entt/signal/sigh.hpp

@@ -360,9 +360,14 @@ class sink<sigh<Ret(Args...), Allocator>> {
     using signal_type = sigh<Ret(Args...), Allocator>;
     using signal_type = sigh<Ret(Args...), Allocator>;
     using difference_type = typename signal_type::container_type::difference_type;
     using difference_type = typename signal_type::container_type::difference_type;
 
 
-    template<auto Candidate, typename... Type>
-    static void release(Type... value_or_instance, void *signal) {
-        sink{*static_cast<signal_type *>(signal)}.disconnect<Candidate>(value_or_instance...);
+    template<auto Candidate, typename Type>
+    static void release(Type value_or_instance, void *signal) {
+        sink{*static_cast<signal_type *>(signal)}.disconnect<Candidate>(value_or_instance);
+    }
+
+    template<auto Candidate>
+    static void release(void *signal) {
+        sink{*static_cast<signal_type *>(signal)}.disconnect<Candidate>();
     }
     }
 
 
     auto before(delegate<Ret(Args...)> call) {
     auto before(delegate<Ret(Args...)> call) {