Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/jarro2783/cxxopts.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarryd Beck <jarro.2783@gmail.com>2020-01-17 00:03:57 +0300
committerJarryd Beck <jarro.2783@gmail.com>2020-01-17 00:03:57 +0300
commit6fa46a748838d5544ff8e9ab058906ba2c4bc0f3 (patch)
tree150ab7d6f90187c61f6f557007b5c509439794ce
parent943cdcfbbaa205f9a1789d96c7a57accfabcd233 (diff)
Don't return parse result
Fixes #219. The example was wrong as ParseResult can't be returned out of scope of the options parser.
-rw-r--r--src/example.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/example.cpp b/src/example.cpp
index 5eb6ca2..c94025b 100644
--- a/src/example.cpp
+++ b/src/example.cpp
@@ -26,7 +26,7 @@ THE SOFTWARE.
#include "cxxopts.hpp"
-cxxopts::ParseResult
+void
parse(int argc, char* argv[])
{
try
@@ -149,9 +149,10 @@ parse(int argc, char* argv[])
std::cout << "Arguments remain = " << argc << std::endl;
- return result;
-
- } catch (const cxxopts::OptionException& e)
+ auto arguments = result.arguments();
+ std::cout << "Saw " << arguments.size() << " arguments" << std::endl;
+ }
+ catch (const cxxopts::OptionException& e)
{
std::cout << "error parsing options: " << e.what() << std::endl;
exit(1);
@@ -160,9 +161,7 @@ parse(int argc, char* argv[])
int main(int argc, char* argv[])
{
- auto result = parse(argc, argv);
- auto arguments = result.arguments();
- std::cout << "Saw " << arguments.size() << " arguments" << std::endl;
+ parse(argc, argv);
return 0;
}