【问题标题】:How do you include a template in c++ code?如何在 C++ 代码中包含模板?
【发布时间】:2023-04-03 15:32:01
【问题描述】:

我对 C++ 的一些语法元素感到不舒服,尤其是在编译和包含方面。我正在尝试实施以下问答中列出的解决方案:

boost::property_tree::json_parser and two-byte wide characters

在此过程中,将建议的模板代码粘贴到一个 .h 文件中,该文件包含在我的 .cpp 文件中。我还在 .cpp 的顶部添加了以下内容,认为我需要引用我要覆盖的内容:

#include "boost/property_tree/detail/json_parser_write.hpp"

我收到以下编译错误:

Error   11  error C2912: explicit specialization; 'std::basic_string<_Elem,_Traits,_Ax>   boost::property_tree::json_parser::create_escapes(const std::basic_string<_Elem,_Traits,_Ax> &)' is not a specialization of a function template   d:\abr.trunk\e1\livesdencoder\web\encodingservice\h264presentation.h    151

注册使用这个 create_escapes 覆盖我做错了什么?提前致谢!!

【问题讨论】:

  • 如果不包含该文件会怎样?
  • 无论是否包含该包含,我都会遇到相同的错误。

标签: c++ templates boost include


【解决方案1】:

将所有内容放在同一个 .hpp 文件中...记住:模板就像宏... 祝你好运!

【讨论】:

  • 我不想编辑 boost .hpp 文件。你的意思是我应该把模板定义放在我自己的 .cpp 文件中,我在其中调用 write_xml 函数?如果我这样做,我是否还需要在我的 .h 文件中添加一些内容?
  • 好消息...我将模板粘贴到 .cpp 文件中,它工作正常。我猜 .h 文件放错了地方。感谢大家的帮助。
猜你喜欢
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 2021-02-01
  • 1970-01-01
  • 2010-09-18
  • 2011-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多