c ++和boost program_options错误:'desc'没有命名类型

时间:2014-08-10 23:32:15

标签: c++ boost codeblocks

我正在尝试关注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

为什么这不起作用?

1 个答案:

答案 0 :(得分:2)

看起来你试图使用

po::options_description desc("Allowed options");
desc.add_options()

在所有功能之外的顶层。在C ++中,这不起作用 - 将此代码移动到函数中。