在 VS2019 上使用单词“not”作为 C++ 类的名称会导致错误

Dew*_*wfy 1 c++ visual-studio visual-studio-2019

我正在将现有项目迁移到 VS2019。具有在所有先前版本中成功编译的非常简单的结构:

template <class Marker>
struct not
{
    // ...
Run Code Online (Sandbox Code Playgroud)

错误 C2332:“结构”:缺少标记名称

NOTE-1我已经检查过not没有用一些宏替换的预编译生成,*.i文件的输出完全匹配上面的声明

NOTE-2当然,如果我重命名not->inv那么一切都是正确的

Yks*_*nen 5

not是C++中的关键字,不能用作类名。

请参阅cppreference 上的关键字列表。


Nut*_*ker 5

not是 的替代运算符!,即 C++ 关键字,因此不能用于命名。

请参阅文档