我正在尝试编译以下代码(包含演绎指南),但在MVS(2017)上遇到错误(在mingw上正常工作)。
那么我该如何在MVS中解决此问题,或者不支持它?
#include <iostream>
#include <string>
using namespace std;
template <class T>
class Element {
public:
Element() {};
Element(T const&) {};
};
//don't wrap C-strings in Elements...
Element(char const*)-> Element<std::string>;
int main()
{
Element el{ "Hello!" };
std::cout << typeid(el).name();
}
Visual Studio上的错误:
错误C2955:“元素”:使用类模板需要模板 参数列表
注意:请参见“元素”的声明
错误C2062:意外输入'const char'
注意:请参见“元素”的声明