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 | 26 | |
| 27 | 27 | #include "cxxopts.hpp" |
| 28 | 28 | |
| 29 | -cxxopts::ParseResult | |
| 29 | +void | |
| 30 | 30 | parse(int argc, char* argv[]) |
| 31 | 31 | { |
| 32 | 32 | try |
| ... | ... | @@ -149,9 +149,10 @@ parse(int argc, char* argv[]) |
| 149 | 149 | |
| 150 | 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 | 157 | std::cout << "error parsing options: " << e.what() << std::endl; |
| 157 | 158 | exit(1); |
| ... | ... | @@ -160,9 +161,7 @@ parse(int argc, char* argv[]) |
| 160 | 161 | |
| 161 | 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 | 166 | return 0; |
| 168 | 167 | } | ... | ... |