1

函数 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");
4

0 回答 0