diff --git a/include/Nazara/Core/Thread.hpp b/include/Nazara/Core/Thread.hpp index e5212b488..4b4852f6e 100644 --- a/include/Nazara/Core/Thread.hpp +++ b/include/Nazara/Core/Thread.hpp @@ -40,7 +40,6 @@ class NAZARA_API NzThread : NzNonCopyable }; NzThread() = default; - template NzThread(F function); template NzThread(F function, Args... args); template NzThread(void (C::*function)(), C* object); NzThread(NzThread&& other); diff --git a/include/Nazara/Core/Thread.inl b/include/Nazara/Core/Thread.inl index 022c43c36..4bcfe3c4c 100644 --- a/include/Nazara/Core/Thread.inl +++ b/include/Nazara/Core/Thread.inl @@ -4,16 +4,13 @@ #include -template -NzThread::NzThread(F function) -{ - CreateImpl(new NzFunctorWithoutArgs(function)); -} - template NzThread::NzThread(F function, Args... args) { - CreateImpl(new NzFunctorWithArgs(function, args...)); + if (sizeof...(Args) == 0) + CreateImpl(new NzFunctorWithoutArgs(function)); + else + CreateImpl(new NzFunctorWithArgs(function, args...)); } template