首页 > 解决方案 > 类模板扣减指南-MVS上的错误

问题描述

我试图编译下面的代码(包含演绎指南),但在 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”意外

注意:参见“元素”的声明

标签: c++templatesc++17

解决方案


推荐阅读