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は実際には何ですか?