diff --git a/include/argparse.hpp b/include/argparse.hpp index 0b6c1eb..f17c5b5 100644 --- a/include/argparse.hpp +++ b/include/argparse.hpp @@ -314,10 +314,10 @@ class ArgumentParser { Argument& add_argument(Targs... Fargs) { std::shared_ptr tArgument = std::make_shared(std::move(Fargs)...); - if (!tArgument->mIsOptional) - mPositionalArguments.emplace_back(tArgument); - else + if (tArgument->mIsOptional) mOptionalArguments.emplace_back(tArgument); + else + mPositionalArguments.emplace_back(tArgument); for (auto& mName : tArgument->mNames) { mArgumentMap.insert_or_assign(mName, tArgument);