C++ 在模板函数中实例化模板结构
这是我的代码,我试图理解为什么它不能编译C++ 在模板函数中实例化模板结构,c++,C++,这是我的代码,我试图理解为什么它不能编译 struct Base {}; template <typename T> struct Derived : Base {}; 然后在某节课上 template <typename S> void SomeClass::SomeMethod() { Derived<S>* ptr; //ok ptr = new Derived<S>(); //Compiler error
struct Base {};
template <typename T>
struct Derived : Base {};
然后在某节课上
template <typename S>
void SomeClass::SomeMethod()
{
Derived<S>* ptr; //ok
ptr = new Derived<S>(); //Compiler error C2760 on Visual Studio 2019
}
这有什么问题吗?C2760是一个bug吗
编辑:
错误C2760:语法错误:意外标记“标识符”,应为“类型说明符”
编辑2:
我使用.inl文件来实现模板成员函数,包括在使用ifndef保护的.h函数末尾。这可能与我的问题有关吗?好吧,它是为我编译的,将所有内容放在一个文件中,并在类中定义函数。1请复制粘贴错误消息。我们通常不记忆编译器错误代码。2请提供。我没有在前面列出它的原因是因为我使用的是VS的翻译版本,并且我不确定类型说明符是它使用的名称