【发布时间】:2020-02-17 14:38:00
【问题描述】:
我正在将现有项目迁移到 VS2019。具有非常简单的结构,可以在所有以前的版本中成功编译:
template <class Marker>
struct not
{
// ...
错误 C2332:“结构”:缺少标签名称
NOTE-1我已经通过预编译生成检查了not 没有被某些宏替换,*.i 文件的输出与上面的声明完全匹配
NOTE-2当然,如果我重命名not->inv,那么一切都是正确的
【问题讨论】:
-
检查eel.is/c++draft/lex.key#2:替代表示
not被保留,否则不得使用。 -
not是 C 和 C++ 中的关键字en.cppreference.com/w/cpp/language/operator_alternative,奇怪的是它之前起作用了 -
@RoQuOTriX:确实。问题不应该是“为什么现在会出现错误?”但是“为什么这之前没有报错?”。
-
@Dewfy 查看更多信息 - stackoverflow.com/questions/2376448/…
-
@walnut - 请将其作为答案 - 因为你是唯一一个知道“如何解决”的人。谢谢!
标签: c++ visual-studio visual-studio-2019