无法专门化来自另一个命名空间的模板
unable to specialize template from another namespace
我已经退出了opencv,当我试图在我的命名空间内修改一次专门化的模板代码时,我得到了错误:
make -k
[100%] Building CXX object object_detection.cpp.o
In file included from object_detection.cpp:1:0:
object_detection.h:370:75: error: specialization of 'void cv::Ptr<_Tp>::delete_obj() [with _Tp = CvHaarClassifierCascade]' in different namespace [-fpermissive]
object_detection.h:370:30: error: from definition of 'void cv::Ptr<_Tp>::delete_obj() [with _Tp = CvHaarClassifierCascade]' [-fpermissive]
我明白,我不应该能够在不同的命名空间专门化模板代码,但有出路吗?
- 重新打开他们的命名空间,并专攻它。
- 对于函数,如果它忠实地通过ADL使用,则在参数的命名空间中创建覆盖。
- 检查源模板是否使用了trait类或其他类似的可以拦截的技术。
相关文章:
- '使用命名空间{嵌套在另一个命名空间中的某个命名空间}"
- 使用另一个命名空间中的函数C++
- 使用命名空间在另一个".cpp"文件中定义
- 如何使用另一个项目命名空间?
- 使用匿名命名空间中的函数或另一个文件中的静态函数不应该出错吗?
- 在模板参数的函数中使用一个命名空间或另一个命名空间
- C++另一个命名空间中函数的 ADL
- 如何在另一个名称空间内从另一个命名空间内明确专业化功能模板
- 我可以在标头中将一个命名空间"import"到另一个命名空间中吗?
- 是否可以将一个命名空间类 #include 到另一个命名空间中
- 从另一个命名空间访问标准命名空间数据成员
- 另一个命名空间和 CRTP 中的模板友元函数
- 将 std::vector 重命名为另一个类以进行重载
- 依赖于参数的查找在来自另一个命名空间的别名类型上意外行为
- 从另一个命名空间中C++全局命名空间访问
- 如何在另一个命名空间中使用常量定义的外部
- 如何在vc++中将命名空间包含在另一个项目的另一个文件中
- 一个命名空间是否可以是另一个命名空间的成员
- 从另一个类引用命名空间
- 匿名命名空间和一个定义规则