那么在调用 boost::regex_replace 时如何调用自定义格式化函数?
我的代码如下:
template <typename T>
std::string fmt(boost::match_results<T> match) {
auto str = match[1];
if (str == ".") {
return "\".\"";
} else {
return str;
}
}
void __ConvertEscapeChar(std::string& action, std::string regex) {
boost::regex re(regex);
action = boost::regex_replace(action, re, &fmt, boost::regex_constants::match_all);
}
但是它显示一个错误,“无法推断 __fmt 的模板参数”。- 那么 T 实际上是什么?