函数 getdata() 在没有模板的情况下可以正常工作,但是当我将模板放入时出现此错误
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol "public: char const * __thiscall json_map::getdata<char const *>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (??$getdata@PBD@json_map@@QAEPBDV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function _main banking
头文件中的结构声明:
struct json_map {
std::map<std::string, std::any> data;
template<typename A>
A getdata(std::string key);
};
函数声明:
template<typename A>
A json_map::getdata(std::string key)
{
return std::any_cast<A>(data[key]);
}
功能使用:
map1.getdata<std::string>("walid");