无法从模板推导 T
在提供的代码中,尝试推导模板时发生错误测试函数的参数 T。要理解其中的原因,深入研究“不可推导上下文”的概念至关重要。
在 TMap 的模板定义中,您将一个名为 Type 的别名定义为 std::map
考虑以下场景:如果 TMap 对 SomeType 有专门化,其中 Type 定义为 std::map< ;double, double>,编译器如何仅根据 TMap 此外,如果 OtherType 存在另一个 TMap 特化,其中 Type 又是 std::map 请务必记住,编译器无法对这种关系做出假设模板定义中使用的类型参数之间。因此,在这种不可推导的上下文中,编译器无法自动推导模板参数 T。
以上是为什么编译器不能推导出 `test(TMap::Type)` 中的 `T`?的详细内容。更多信息请关注PHP中文网其他相关文章!