我正在编写一个小的命令行解析库,您可以静态地描述选项:
std::vector<Args::Descriptor> description{
{UNKNOWN, 0,'h' , "help", Args::None, "print this help"}
};
在我的lib中,
struct Descriptor {
const uint option;
const int type;
const char shortopt;
const char* const longopt;
const CheckArg check_arg; // Function pointer
const char* help;
};
然后Descriptor用于初始化一个类:
Option(const Descriptor *descriptor)
{ … }
我可以通过初始化向量中的选项类来删除我的描述符结构吗?
std::vector<Args::Option> options{
{UNKNOWN, 0,'h' , "help", Args::None, "print this help"}
};
我的Option构造函数应该有什么签名?假设Descriptor类完全从代码中消失以简化它。
非常感谢:D
答案 0 :(得分:1)
这不起作用。 HKEY_USERS\S-1-5-21-1832913631-259515069-2567909844-16342_Classes
的构造函数的参数是指向Option
的指针。 Descriptor
必须来自某个地方。您无法使用类本身的实例初始化指向类的指针。
但是,你可以做的是构建一个Descriptor
的向量,正是你现在正在做的。
然后,使用指向Descriptor
向量中各个值的指针初始化Option
向量。
只要前进,第一个矢量保持不变,这将起作用。