我正在为此调用获取未定义的引用:
Argonauts::Runtime::handleParseObject(m_val.m_type)
handleParseObject函数在包含上述行的文件所包含的头文件中定义(在Argonauts::Runtime
命名空间内):
template <typename Type> HandleParseAction handleParseObject(Type &) { return HandleParseAction("Unexpected value of type 'object'"); }
存在过载的函数,这个模板函数应该是任何没有重载变量的类型的回退。
错误消息:
undefined reference to `Argonauts::Runtime::HandleParseAction Argonauts::Runtime::handleParseObject<SiteType>(SiteType&)'
搜索SO和使用Google的帮助几乎没用,因为所有结果都来自将模板功能定义放在源文件中的人。
我可以通过使函数静态来摆脱错误,但我对此感到不安。这是正确的做法还是有更好的方法?