diff --git a/alib2cli/test-src/cli/CliTest.cpp b/alib2cli/test-src/cli/CliTest.cpp index e236bb2e058926026a0d0ba2ac6eb70eb5075253..78c4248b2a59784198bb057a18de7d285a07c7d3 100644 --- a/alib2cli/test-src/cli/CliTest.cpp +++ b/alib2cli/test-src/cli/CliTest.cpp @@ -290,7 +290,7 @@ public: namespace { -auto fooBar = registration::MethodRegister < int, Foo, int > ( & Foo::bar, "bar" ); +auto fooBar = registration::MethodRegister < Foo, int, Foo, int > ( & Foo::bar, "bar" ); } /* namespace */ diff --git a/alib2common/src/registration/AlgoRegistration.hpp b/alib2common/src/registration/AlgoRegistration.hpp index 5d210c27df1936b5e080bc76ce4cafbb007033a0..8751a68be527bf86083d20a3ae68b8094b0b0e15 100644 --- a/alib2common/src/registration/AlgoRegistration.hpp +++ b/alib2common/src/registration/AlgoRegistration.hpp @@ -58,14 +58,14 @@ public: }; -template < class ReturnType, class ObjectType, class ... ParameterTypes > +template < class Algorithm, class ReturnType, class ObjectType, class ... ParameterTypes > class MethodRegister : public AlgoRegister { public: template < class ... ParamNames > MethodRegister ( ReturnType ( ObjectType::* callback ) ( ParameterTypes ... ), std::string methodName, ParamNames ... paramNames ) { std::array < std::string, sizeof ... ( ParameterTypes ) > parameterNames = generateNames < sizeof ... ( ParameterTypes ) > ( paramNames ... ); - abstraction::AlgorithmRegistry::registerMethod < ObjectType > ( callback, methodName, std::move ( parameterNames ) ); + abstraction::AlgorithmRegistry::registerMethod < Algorithm > ( callback, methodName, std::move ( parameterNames ) ); } };