使用模板时启用 visual studio c++ 语法错误警告

Enable visual studio c++ syntax error warnings when using template

我正在使用 visual studio 2017,我注意到在使用模板时我没有收到语法错误警告,例如:

当我删除模板时,我得到了这个:

还有这个:

可以解决这个问题吗?

代码(不是图片):

template<int a>
void noErrors()
{
    sleiudbg;sg ojrp jabp srpghs //some gibberish
}
template<int b>
void noErrors(string s)
{
    int p = s.Size();
}

哦拜托,必须我们post代码只作为图像?请解决这个问题,这意味着我无法试验您的代码。

但是您的问题的答案是 IDE 中内置的增量语法检查器的智能有限,尤其是在涉及模板的情况下(检测和报告编译器错误通常是一项复杂的业务)和结果,大量无法编译的东西漏掉了。

另一方面,编译器会直接抛出这个错误,并且还会报告由无效的实例化导致的错误以适度有用的方式提供模板(尽管此类错误消息从来都不是最容易阅读的内容)。

你能改变其中的任何一个吗?抱歉,不,(除非你能说服微软加强他们的 IDE)。


错误检查是一项复杂的业务 - 此处有更多内容: