Commit 6fa46a748838d5544ff8e9ab058906ba2c4bc0f3

Authored by Jarryd Beck
1 parent 943cdcfb

Don't return parse result

Fixes #219. The example was wrong as ParseResult can't be returned out
of scope of the options parser.
Showing 1 changed file with 6 additions and 7 deletions
src/example.cpp
@@ -26,7 +26,7 @@ THE SOFTWARE. @@ -26,7 +26,7 @@ THE SOFTWARE.
26 26
27 #include "cxxopts.hpp" 27 #include "cxxopts.hpp"
28 28
29 -cxxopts::ParseResult 29 +void
30 parse(int argc, char* argv[]) 30 parse(int argc, char* argv[])
31 { 31 {
32 try 32 try
@@ -149,9 +149,10 @@ parse(int argc, char* argv[]) @@ -149,9 +149,10 @@ parse(int argc, char* argv[])
149 149
150 std::cout << "Arguments remain = " << argc << std::endl; 150 std::cout << "Arguments remain = " << argc << std::endl;
151 151
152 - return result;  
153 -  
154 - } catch (const cxxopts::OptionException& e) 152 + auto arguments = result.arguments();
  153 + std::cout << "Saw " << arguments.size() << " arguments" << std::endl;
  154 + }
  155 + catch (const cxxopts::OptionException& e)
155 { 156 {
156 std::cout << "error parsing options: " << e.what() << std::endl; 157 std::cout << "error parsing options: " << e.what() << std::endl;
157 exit(1); 158 exit(1);
@@ -160,9 +161,7 @@ parse(int argc, char* argv[]) @@ -160,9 +161,7 @@ parse(int argc, char* argv[])
160 161
161 int main(int argc, char* argv[]) 162 int main(int argc, char* argv[])
162 { 163 {
163 - auto result = parse(argc, argv);  
164 - auto arguments = result.arguments();  
165 - std::cout << "Saw " << arguments.size() << " arguments" << std::endl; 164 + parse(argc, argv);
166 165
167 return 0; 166 return 0;
168 } 167 }