C++ 头文件中的类模板给了我很多错误

C++ 头文件中的类模板给了我很多错误,c++,templates,header-files,C++,Templates,Header Files,此代码如下: main.cpp: #include <iostream> #include <list> #include <map> #include <string> #include "core_table.h" using std::cout; using std::endl; int main() { core_table<int, int> t; cout << sizeof(t) <

此代码如下:

main.cpp:

#include <iostream>
#include <list>
#include <map>
#include <string>

#include "core_table.h"

using std::cout;
using std::endl;

int main() {
    core_table<int, int> t;

    cout << sizeof(t) << endl;
    return 0;
}
#包括
#包括
#包括
#包括
#包括“core_table.h”
使用std::cout;
使用std::endl;
int main(){
核心表t;
cout'在标识符'\u Valty'之前是ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 339
错误C2903“重新绑定”:符号既不是类模板也不是函数模板ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 339
错误C2371“std::\u Get\u const\u pointer\u type::type”:重新定义;不同的基本类型ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 339
错误C2039“类型”:不是“std::\u Get\u pointer\u type”ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 353的成员
错误C3646“\u Ptrty”:未知覆盖说明符ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 353
C430缺失类型指定器-int假设。注释:C++不支持缺省int alc:\程序文件(x86)\\微软Visual Studio \\\Calue\VC\Too\MSVC\14.10724\\包含\xMeMeNy0 353
错误C2065“\u Ptrty”:未声明的标识符ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 354
错误C2923“std::pointer\u traits”:“\u ptry”不是参数“\u Ty”的有效模板类型参数ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 354
错误C2903“重新绑定”:符号既不是类模板也不是函数模板ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 354
错误C2371“std::\u Get\u void\u pointer\u type::type”:重新定义;不同的基本类型ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 354
错误C2039“type”:不是“std::\u Get\u pointer\u type”ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 368的成员
错误C3646“\u Ptrty”:未知覆盖说明符ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 368
C430缺失类型指定器-int假设。注释:C++不支持缺省int alc:\程序文件(x86)\\微软Visual Studio \\\Calue\VC\Too\MSVC\14.10724\\包含\xMeMeNy0 368
错误C2065“\u Ptrty”:未声明的标识符ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 369
错误C2923“std::pointer\u traits”:“\u ptry”不是参数“\u Ty”的有效模板类型参数ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 369
错误C2903“重新绑定”:符号既不是类模板也不是函数模板ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 369
错误C2371'std::\u Get\u const\u void\u pointer\u type::type::重新定义;不同的基本类型ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 369
错误C2039“类型”:不是“std::\u Get\u pointer\u type”ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 383的成员
错误C3646“\u Ptrty”:未知覆盖说明符ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 383
C430缺失类型指定器-int假设。注释:C++不支持缺省int alc:\程序文件(x86)\\微软Visual Studio \\\Calue\VC\Too\MSVC\14.10724\\包含\xMeMeNy0 383
错误C2065“\u Ptrty”:未声明的标识符ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 384
错误C2923“std::pointer\u traits”:“\u ptry”不是参数“\u Ty”的有效模板类型参数ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 384
错误C2955“std::pointer\u traits”:使用类模板需要模板参数列表ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 384
错误C2371“std::_Get_difference_type::type”:重新定义;不同的基本类型ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 384
错误C3646“分配”:未知覆盖说明符ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 688
错误C2065'\u Al':未声明的标识符ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 688
错误C2275“\u Alloc”:将此类型非法用作表达式ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 688
错误C2226语法错误:意外类型“std::allocator\u traits::size\u type”ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 688
错误C2334“{”前面的意外标记;跳过明显的函数体ali c:\program files(x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0 689
错误C3646“分配”:未知覆盖说明符ali c:\program files(x86)\microsoft visual studio\2017\community\vc\to
#ifndef CORE_TABLE_H
#define CORE_TABLE_H

template <typename key, typename value>
class core_table {
    std::list<key, value> l;
    std::map<key, value> m;
public:
};

#endif // !CORE_TABLE_H
Severity    Code    Description Project File    Line    Suppression State
Error   C2516   '_Alloc': is not a legal base class ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    984 
Error   C2825   '_Alloc': must be a class or namespace when followed by '::'    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    659 
Error   C2510   '_Alloc': left of '::' must be a class/struct/union ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    659 
Error   C3646   'value_type': unknown override specifier    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    659 
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    659 
Error   C2825   '_Ty': must be a class or namespace when followed by '::'   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    323 
Error   C2510   '_Ty': left of '::' must be a class/struct/union    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    323 
Error   C2143   syntax error: missing ';' before '*'    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    323 
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    323 
Error   C2238   unexpected token(s) preceding ';'   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    323 
Error   C2039   'type': is not a member of 'std::_Get_pointer_type<_Alloc,void>'    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    661 
Error   C3646   'pointer': unknown override specifier   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    662 
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    662 
Error   C2039   'type': is not a member of 'std::_Get_pointer_type<_Alloc,void>'    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    337 
Error   C3646   '_Ptrty': unknown override specifier    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    337 
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    337 
Error   C2825   '_Ty': must be a class or namespace when followed by '::'   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    338 
Error   C2510   '_Ty': left of '::' must be a class/struct/union    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    338 
Error   C3646   '_Valty': unknown override specifier    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    338 
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    338 
Error   C2065   '_Ptrty': undeclared identifier ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    339 
Error   C2923   'std::pointer_traits': '_Ptrty' is not a valid template type argument for parameter '_Ty'   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    339 
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    339 
Error   C2146   syntax error: missing '>' before identifier '_Valty'    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    339 
Error   C2903   'rebind': symbol is neither a class template nor a function template    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    339 
Error   C2371   'std::_Get_const_pointer_type<_Alloc,void>::type': redefinition; different basic types  ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    339 
Error   C2039   'type': is not a member of 'std::_Get_pointer_type<_Alloc,void>'    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    353 
Error   C3646   '_Ptrty': unknown override specifier    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    353 
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    353 
Error   C2065   '_Ptrty': undeclared identifier ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    354 
Error   C2923   'std::pointer_traits': '_Ptrty' is not a valid template type argument for parameter '_Ty'   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    354 
Error   C2903   'rebind': symbol is neither a class template nor a function template    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    354 
Error   C2371   'std::_Get_void_pointer_type<_Alloc,void>::type': redefinition; different basic types   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    354 
Error   C2039   'type': is not a member of 'std::_Get_pointer_type<_Alloc,void>'    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    368 
Error   C3646   '_Ptrty': unknown override specifier    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    368 
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    368 
Error   C2065   '_Ptrty': undeclared identifier ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    369 
Error   C2923   'std::pointer_traits': '_Ptrty' is not a valid template type argument for parameter '_Ty'   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    369 
Error   C2903   'rebind': symbol is neither a class template nor a function template    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    369 
Error   C2371   'std::_Get_const_void_pointer_type<_Alloc,void>::type': redefinition; different basic types ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    369 
Error   C2039   'type': is not a member of 'std::_Get_pointer_type<_Alloc,void>'    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    383 
Error   C3646   '_Ptrty': unknown override specifier    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    383 
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    383 
Error   C2065   '_Ptrty': undeclared identifier ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    384 
Error   C2923   'std::pointer_traits': '_Ptrty' is not a valid template type argument for parameter '_Ty'   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    384 
Error   C2955   'std::pointer_traits': use of class template requires template argument list    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    384 
Error   C2371   'std::_Get_difference_type<_Ty,void>::type': redefinition; different basic types    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    384 
Error   C3646   'allocate': unknown override specifier  ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    688 
Error   C2065   '_Al': undeclared identifier    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    688 
Error   C2275   '_Alloc': illegal use of this type as an expression ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    688 
Error   C2226   syntax error: unexpected type 'std::allocator_traits<_Alloc>::size_type'    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    688 
Error   C2334   unexpected token(s) preceding '{'; skipping apparent function body  ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    689 
Error   C3646   'allocate': unknown override specifier  ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    693 
Error   C2065   '_Al': undeclared identifier    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    693 
Error   C2275   '_Alloc': illegal use of this type as an expression ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    693 
Error   C2226   syntax error: unexpected type 'std::allocator_traits<_Alloc>::size_type'    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    693 
Error   C2334   unexpected token(s) preceding '{'; skipping apparent function body  ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    695 
Error   C2061   syntax error: identifier 'pointer'  ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    700 
Error   C2039   'pointer': is not a member of 'std::allocator_traits<_Alloc>'   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    990 
Error   C3646   'pointer': unknown override specifier   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    990 
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    990 
Error   C2027   use of undefined type 'std::_Replace_first_parameter<_Other,_Ty>'   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    469 
Error   C3646   'type': unknown override specifier  ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    469 
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    469 
Error   C2027   use of undefined type 'std::_Replace_first_parameter<_Other,_Ty>'   ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\xmemory0    469 
Error   C2535   'std::list<key,value>::list(unsigned int,const int &)': member function already defined or declared ali c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.24728\include\list    923