diff --git a/src/server/game/Chat/ChatCommands/ChatCommand.h b/src/server/game/Chat/ChatCommands/ChatCommand.h index 0af9e0ba0ae..e29a5f75c9d 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommand.h +++ b/src/server/game/Chat/ChatCommands/ChatCommand.h @@ -45,20 +45,7 @@ struct CommandArgsConsumerSingle struct CommandArgsVariantConsumer { - template - static char const* TryConsumeTo(V& val, char const* args) - { - T1 v; - if (char const* next = CommandArgsConsumerSingle::TryConsumeTo(v, args)) - { - val = std::move(v); - return next; - } - else - return TryConsumeTo(val, args); - } - - template + template static char const* TryConsumeTo(V& val, char const* args) { T1 v; @@ -67,6 +54,8 @@ struct CommandArgsVariantConsumer val = std::move(v); return next; } + else if constexpr (sizeof...(Ts) > 0) + return TryConsumeTo(val, args); else return nullptr; }