VS2019 显式特化需要模板 <> 错误 'using' 关键字

VS2019 explicit specialization requires template<> error with 'using' keyword

我有这段c++代码,用VS2019编译:

#include <iostream>
template<typename t>
class c
{

};

int main(){
    using o = class c<int>;
}

有没有人知道为什么它不能编译,抱怨:

Error   C2906   'c<int>': explicit specialization requires 'template <>'

使用 mingw-gcc 编译和运行没有错误。

在这里您可以比较编译器输出:https://godbolt.org/z/55fMzh8qz

提前致谢。

class 在 using 语句中是不必要的,我认为 visual studio 认为您正在尝试声明 c:

的专业化
template <>
class c<int>;

因此出现错误消息。

您只需要:

using o = c<int>;