Don't return parse result

Fixes #219. The example was wrong as ParseResult can't be returned out
of scope of the options parser.
This commit is contained in:
Jarryd Beck 2020-01-17 08:03:57 +11:00
parent 943cdcfbba
commit 6fa46a7488

View File

@ -26,7 +26,7 @@ THE SOFTWARE.
#include "cxxopts.hpp" #include "cxxopts.hpp"
cxxopts::ParseResult void
parse(int argc, char* argv[]) parse(int argc, char* argv[])
{ {
try try
@ -149,9 +149,10 @@ parse(int argc, char* argv[])
std::cout << "Arguments remain = " << argc << std::endl; std::cout << "Arguments remain = " << argc << std::endl;
return result; auto arguments = result.arguments();
std::cout << "Saw " << arguments.size() << " arguments" << std::endl;
} catch (const cxxopts::OptionException& e) }
catch (const cxxopts::OptionException& e)
{ {
std::cout << "error parsing options: " << e.what() << std::endl; std::cout << "error parsing options: " << e.what() << std::endl;
exit(1); exit(1);
@ -160,9 +161,7 @@ parse(int argc, char* argv[])
int main(int argc, char* argv[]) int main(int argc, char* argv[])
{ {
auto result = parse(argc, argv); parse(argc, argv);
auto arguments = result.arguments();
std::cout << "Saw " << arguments.size() << " arguments" << std::endl;
return 0; return 0;
} }