C++ 已定义结构的向量的模板

C++ 已定义结构的向量的模板,c++,templates,vector,struct,C++,Templates,Vector,Struct,我有以下数据结构 class FamilyMem { public: string name; string relation; }; template<class T> class Paerson { public: string name; int age; vector<T> family; }; class-FamilyMem { 公众: 字符串名; 字符串关系; }; 模板 班长 { 公众: 字符串名; 智力年龄;

我有以下数据结构

class FamilyMem
{
public:
    string name;
    string relation;

};

template<class T>
class Paerson
{
public:
    string name;
    int age;
    vector<T> family;

};
class-FamilyMem
{
公众:
字符串名;
字符串关系;
};
模板
班长
{
公众:
字符串名;
智力年龄;
载体家族;
};
我有一个向量定义如下

 vector< Paerson<FamilyMem> > p;
vectorp;
我正在使用这个库,我想调用一个使用模板的函数,我正在尝试创建自己版本的函数,但它不起作用

 // I initialize the vector p by calling this function
 initPerson(p);

 for(int i=0; i< p.size(); p++)
     display(p[i]);
//我通过调用此函数初始化向量p
一人(p);
对于(int i=0;i
这就是函数

template<class U>
struct Displaying< std::vector<U> >
{
    typedef std::vector<U> Vector;

    static void display(const Vector& v)
    {
        cerr << "Vector Size " << v.size();
    }
}
模板
结构显示
{
typedef std::向量;
静态空隙显示(常量向量和v)
{

cerr在执行模板专门化时,您的案例的正确语法应该是
template
,而不是
template


请花些时间格式化代码。按原样阅读几乎是痛苦的。至少,对于模板专门化,您可以使用
template
而不是
template
@MikelF谢谢!!您能将其作为解决方案发布,以便我可以接受吗
template<class U>
struct Displaying< Paerson<FamilyMem> >
{
    static void display(const Paerson<FamilyMem> v)
    {
        for (int i = 0; i < v.family.size(); i++)
            cerr << "name " << v.family.name << " relation " << v.family.relation << "\n";
    }
}