是否应该在c++20中抑制有关缺少typename的警告
Should warnings about missing typename supressed in c++20?
警告消息,如:
missing 'typename' prior to dependent type name ... [-Wtypename-missing]
和
template argument for template type parameter must be a type; omitted 'typename' is a Microsoft extension [-Wmicrosoft-template]
如果我理解正确的c++20,那么就放松了对typename
的需求。这是否意味着这些警告已经过时?或者每当有警告时,我应该添加(烦人的(typename
吗?(我使用的是Visual Studio/Clang12/std=C++20。(
C++20稍微放宽了typename
规则。但这与这个警告无关。
MSVC认为typename
是(几乎?(完全可选的,在这方面是不符合的。Clang显然也可以做到这一点,因为它与MSVC兼容。警告表示您的代码不符合要求,可能无法在其他编译器上运行(尤其是在GCC上(。
相关文章:
- 警告处理为错误这里有什么问题
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- cppcheck在const std::string[]上引发警告
- GCC对可能有效的代码抛出init list生存期警告
- 如何在BST的这个简单递归实现中消除警告
- 关于std::move的使用,是否有编译警告
- g++ 在某个类成员未初始化时不发出警告
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 使用typeid警告未使用的变量
- 示例C++项目编译中的警告
- 为什么返回类型中需要typename?C++
- 警告:在函数返回类型 [-Wignore 限定符] 时忽略类型限定符
- 如何修复编译器警告 C6386 和 C6385?
- 返回语句后的代码,没有警告
- 获取隐式转换溢出从无符号到已签名的警告
- 编译器警告:执行到达值返回函数的末尾而不返回值
- 在未链接的部分上生成警告
- 警告 C4552:">>":未使用表达式的结果
- 禁止显示由于常量为零而比较始终为假的警告
- C++ 警告:将新创建的 gsl::owner<> 分配给非所有者