雪傲天1 2023-01-08 18:18 采纳率: 96.2%
浏览 14
已结题

类模板成员函数类外实现,遇到了编译错误的问题,编译却有三个错误,一段很简单的代码,希望有人能告诉我怎么改正这些错误

我在学习类模板成员函数类外实现的时候,遇到了编译错误的问题
但是编译却有三个错误,一段很简单的代码,希望有人能告诉我怎么改正这些错误


```c++
#include<iostream>
using namespace std;
#include<string>
template<class T1,class T2>
class Person
{
public:
    Person(T1 name,T2 age);
    T1 m_Name;
    T2 m_Age;
};
//构造函数类外实现
template<class T1,class T2>
Person<T1.T2>::Person(T1 name,T2 age)
{
    this->m_Name=name;
    this->m_Age=age;
}
template<class T1,class T2>
void Person<T1,T2>::showPerson()
{
    cout<<"name:"<<this->m_Name<<"age:"<<this->m_Age<<endl;
}
void test01()
{
    Person<string,int> P("Tom",20);
    P.showPerson();
}
int main()
{
    test01();
    system("pause");
    return 0;
}

、三个错误分别是
错误    1    error C2143: 语法错误 : 缺少“,”(在“.”的前面)     
错误    2    error C2649: “typename”: 不是“class”     
错误    3    fatal error C1004: 发现意外的文件尾 
  • 写回答

1条回答 默认 最新

  • orbitgw 新星创作者: C/C++技术领域 2023-01-08 23:58
    关注

    这里打错了,应该是逗号

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月5日
  • 已采纳回答 1月28日
  • 创建了问题 1月8日