Commit 6fa46a748838d5544ff8e9ab058906ba2c4bc0f3
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 | } |