我正在尝试关注this tutorial on boost program_options,但我收到了这个错误:
错误:'desc'没有命名类型。
以下是我的源代码:
#include <boost/program_options.hpp>
using namespace std;
namespace po = boost::program_options;
po::options_description desc("Allowed options");
desc.add_options()
("help", "produce help message")
("compression", po::value<int>(), "set compression level")
;
int main()
{
return 0;
}
错误出现在以'desc.add_options'开头的行上,而不是我构造它的行。
/ usr / local / boost是我的BOOST_ROOT,我将它添加到我的代码块编译器设置中。编译器arg是-I / usr / local / boost
为什么这不起作用?
答案 0 :(得分:2)
看起来你试图使用
行po::options_description desc("Allowed options");
desc.add_options()
在所有功能之外的顶层。在C ++中,这不起作用 - 将此代码移动到函数中。