boost::program_options class field
boost::program_options class field
我有一个问题,boost::program_options
我有一个类
namespace po = boost::program_options;
class imageProcess{
private:
po::options_description options;
public:
imageProcess(int argc,char** argv){
po::options_description desc("Allowed options");
this->options = desc;
它给了我这些错误:
非静态const成员' const unsigned int 'boost:: program_options:: options_description:: m_min_description_length’,不能使用默认赋值操作符imgproc行163,外部地点:/usr/include/boost/program_options/options_description.hpp C/c++问题:非静态const成员的const unsigned intBoost::program_options::options_description::m_line_length ',无法使用默认赋值操作符imgproc行163,外部位置:/usr/include/boost/program_options/options_description.hpp C/c++删除函数的使用问题boost:: program_options":options_description&boost:: program_options:: options_description::操作符= (constboost::program_options::options_description&) ' imageProcess.cpp/imgproc/src行20 C/c++ Problem
我应该怎么做,使po::options_description的选项字段实例?
编辑:我知道选项字段已经是一个实例,但有一种方法来设置描述"允许的选项"定义这个字段后(po::options_description options("允许的选项");也不行)?以及我应该如何存储以前创建的对象的实例到类字段?
阅读错误:
非静态const成员'
const unsigned int boost::program_options::options_description::m_min_description_length
'不能使用默认赋值操作符非静态const成员'
const unsigned int boost::program_options::options_description::m_line_length
'不能使用默认赋值操作符删除函数'
boost::program_options::options_description& boost::program_options::options_description::operator=(const boost::program_options::options_description&)
'的使用
它们表明boost::program_options::options_description
不支持赋值操作符operator=
在你的Boost版本中(实际上是从v1.33开始),因为options_description
中的const
成员。
你必须——无论如何应该——使用ctor初始化器:
初始化你的options_description
实例namespace po = boost::program_options;
class imageProcess{
private:
po::options_description options;
public:
imageProcess(int argc, char** argv);
};
imageProcess::imageProcess(int argc, char** argv)
: options("Allowed options")
{}
从:
开始的行是成员options
的构造函数参数所在的地方。
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- "Undefined class"作为is_base_of的论据
- 如何将class.cpp和class.hpp编译为一个.o文件
- '{'标记之前的预期类名,然后在预声明时无效使用不完整的类型'class class_name'
- std::unordered_map 类型对象声明期间出现"field has incomplete type"错误
- 如何使用"derived input class"创建派生类?
- 错误:"Left of getValue must have class/struct/union"
- ' class a : b ' 和 ' class a : public b ' 之间的继承类不同
- Pybind11 Class Definition
- 在C++中使用没有合作伙伴Class/Cpp文件的头文件是否实用
- C2011 'CMemDC':Visual Studio 2019中的'class'类型重新定义
- TypeError: [c++ addon class] 不是构造函数
- C++ class template
- 当初始值设定项是基类名时'initializer does not name a non-static data member or base class'错误
- 类标头和在我的类.cpp文件中使用构造函数:"error: class 'Test' does not have any field named 'counter'"
- 智能感知说错误:成员"Class::field"无法访问,但它仍然有效?为什么?
- 如何在 Awesomium 中设置侦听器?( "Field type 'Listener' is an abstract class"错误)
- boost::program_options class field