young-y 2016-05-22 15:37 采纳率: 100%
浏览 1298
已采纳

C++模板中类模板的问题

Myvector vf(5, Fraction(1,2));当执行到此代码时,应该调用Myvector的模板来生成Fraction类型的模板但他却调用了Fraction的构造函数,然后就无穷递归了,这是怎么回事,求解决方案
template class Myvector {
T arry[1000];
int realsize;
public:
Myvector(int ,T );
Myvector();
T & operator=( T & );
};
template Myvector::Myvector(int a, T b)
{
realsize = a;
for (int i = 0; i < a; i++)arry[i] = b;

}

class Fraction {
private:
int fenzi;
int fenmu;
public:
Fraction(int, int);
Fraction();
Fraction &operator=(const Fraction&);
};

Fraction::Fraction() { fenzi = 0; fenmu = 1; }

Fraction::Fraction(int a, int b)
{
fenzi = a;
fenmu = b;
}

  • 写回答

3条回答 默认 最新

  • threenewbee 2016-05-22 21:32
    关注

    你说的

     Myvector <Fraction> vf(5, Fraction(1,2));
    

    这代码在哪里,你完整的代码是什么。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?