【发布时间】:2012-10-24 21:51:21
【问题描述】:
我正在运行这两行代码,以便稍后添加到地图中:
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 数组。
提前谢谢你。
【问题讨论】: