通过引用返回包含对象的向量

时间:2018-06-05 06:46:33

标签: c++ stdvector

我正在尝试编写一个返回由n个随机分数组成的向量的函数。我收到一个奇怪的错误,告诉我"看到函数模板实例化的引用,以及"类Fraction:没有可用的复制构造函数或复制构造函数被声明' explicit'"" 。任何帮助是极大的赞赏。

这是我写的代码:

DatabaseReference databaseReference = firebaseDatabase.getReference().child(userName).child(monthName);

这是头文件:

vector<Fraction> & genV(int n) {
    vector<Fraction> temp;
    for (int i = 0; i < n; i++) {
        int n, d;
        n = rand() % (100);
        d = rand() % (100);
        // create a new random fraction
        Fraction *tempFraction = new Fraction(n, d);
        // push new fraction to vector
        temp.push_back(*tempFraction);
    }
    return temp;
}

1 个答案:

答案 0 :(得分:0)

Fraction(Fraction & other); // copy c'tor不是复制构造函数。

这个Fraction(const Fraction & other); // copy c'tor是一个复制构造函数。

您没有获得默认值的原因是因为您禁用了其他声明的自动生成。