vs2022中template下的代码不会出现红色波浪号提示

类模板内不会提示任何错误?
运行会报错,但是在写代码的过程中不会提示任何错误

img

template内怎么写都不会提示错误,这是为什么?
我以为编译器的问题,最后才发现其他地方会正常提示错误,就是红色波浪线,只有template内部不会提示。
这对于我来说很烦恼!

模板在使用时进行编译和检查

模板编译是两个阶段的

Visual Studio可以对模板提供智能提示。
需要在template旁填写参数类型。鼠标移动到template旁会弹出,并选择所添加的类型。微软更新博客:https://devblogs.microsoft.com/cppblog/template-intellisense/

img

【相关推荐】



  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/214479
  • 这篇博客你也可以参考下:可变参数模板:template <class... Args>
  • 除此之外, 这篇博客: template的用法(超详细)中的 使用类模板的部分特化 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    some_template<int,string>foo;//使用类模板
    some_template<string,int>bar;//使用部分特化

    1.foo的实例化类型与提供的部分特化类型不匹配,因此,foo的类型必然从通用类模板实例化

    2.bar选择部分特化模板来实例化。当声明了部分特化的时候,编译器将为实例化选择最特化的模板定义,当没有部分特化可以使用的时候,就使用通用模板定义。

    ps:函数模板是没有部分特化的,如果声明了一个部分特化的函数模板,编译器会报错


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^