我正在运行这两行代码以稍后添加到地图中:
o.add("-i", 800, "int option");
o.add("-w", "'switch on' option (no third parameter)");
要添加它们,我正在使用定义为的两个添加函数:
template<class T>
void add(std::string name, T value, std::string desc);
template<class T>
void add(std::string name, std::string desc);
第一个工作正常,并返回我想要的值,但如果我添加第二个,我得到错误:
error: no matching function for call to ‘Opt::add(const char [3], const char [40])’
我的问题是为什么它在第一个字符串中正确使用了我的字符串,而第二个字符串中的字符串被认为是 const char 数组。
先感谢您。