-2
私はブーストでコマンドライン引数を解析しようとしています。ここでは(私は私が助けを必要部分を含めています)私のコードです:boost.program_optionsでコマンドライン引数を解析する - C++
私は私の主な機能は、に設定されている#include <iostream>
#include <iterator>
#include <boost/program_options.hpp>
using std::cerr;
using std::cout;
using std::endl;
namespace po = boost::program_options;
try {
po::options_description desc("Allowed options");
desc.add_options()
("help", "produce help message")
("compression", po::value<double>(), "set compression level");
po::variables_map vm;
po::store(po::parse_command_line(ac, av, desc), vm);
po::notify(vm);
if (vm.count("help")) {
cout << desc << "\n";
return 0;
}
if (vm.count("compression")) {
cout << "Compression level was set to "
<< vm["compression"].as<double>() << ".\n";
} else {
cout << "Compression level was not set.\n";
}
}
catch(exception& e) {
cerr << "error: " << e.what() << "\n";
return 1;
}
catch(...) {
cerr << "Exception of unknown type!\n";
}
:
main(int argc, char const *argv[])
しかし、私はhttps://github.com/boostorg/program_options/blob/develop/example/first.cppこれらのパラメータを含んで、次のされたコード:
int main(int ac, char* av[])
は、私はそれをcomileときは、これを吐くと私は完全に失われています:
テキストの画像を投稿しないでください。テキスト*を質問にコピー&ペーストしてください。 –
メイン関数を "int main(int ac、char * av [])"に変更するか、 "ac"をすべて見つけて "argc"に変更し、同様に "av"を "argv"に変更するか、良いこと – systemcpro
引数の名前については、実際には関係ありません。 'argc'と' argv'は単に 'ac'と' av'の略語のように2つの古い名前です。あなたが望むなら、それらを 'foo'と' bar'と名付けることができます。 –