undefined reference to при вызове конструктора базового класса

Надо реализовать ромбовидное наследование, и при этом инициализировать переменную id в дочернем классе. Не могу понять, что именно не так:

class TableGame
{
public:
    int id;
    TableGame();
    TableGame(int id){
        this->id = id;
    }
    virtual float getMass() = 0;
};
class Chess : public TableGame
{
    float P, K, B, Kn, Q, R, box;
public:
    Chess(float Pt, float Kt, float Bt, float Knt, float Qt, float Rt, float bt, int id) : TableGame(id){
        P = Pt;
        K = Kt;
        B = Bt;
        Kn = Knt;
        Q = Qt;
        R = Rt;
        box = bt;
    }
    float getMass() override{
        return P*8 + K*1 + Q*1 + B*2 + Kn*2 + R*2 + box*1;
    };
};
class Domino : public virtual TableGame
{
    float figure, box;
public:
    Domino(float Ft, float Bt){
        figure = Ft;
        box = Bt;
    }
    float getMass() override{
        return figure*28 + box*1;
    };
};
class Complect : public Domino, public Chess
{
public:
    Complect(float Pt, float Kt, float Bt, float Knt, float Qt, float Rt, float bt, int id, float Ft, float Btt) : Domino(Ft, Btt), Chess(Pt, Kt, Bt, Knt, Qt, Rt, bt, id) { //тут ошибка
    }
    float getFinalMass(){
        return Chess::getMass() + Domino::getMass();
    }
};

Это все один файл, других скриптов нету.


Ответы (0 шт):