gpt4 book ai didi

c++ - 抽象类未定义对`vtable for的引用的生成器错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:12 26 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Undefined symbols “vtable for …” and “typeinfo for…”?
C++ Undefined Reference to vtable and inheritance

我的大学要求我完成一个小项目,但遇到了问题。这是一个简单的象棋游戏项目。

我有一个模糊的错误 undefined reference to `vtable for XXX当我从抽象类定义继承类时...这是代码

Pieces.h

class Pieces {
public:
Pieces(char color) : pieceColor(color) {}
virtual ~Pieces() {}
virtual char getPieceType() = 0;
char getColor() {
return pieceColor;
}

virtual bool isLegalMove(int srcRow, int srcCol, int destRow, int destCol, Pieces* board[8][8]) = 0;

private:
virtual bool areSquaresLegal(int srcRow, int srcCol, int destRow, int destCol, Pieces* board[8][8]) = 0;
char pieceColor;
};

这是一个示例继承类,即典当类

Pawn.h

#include "Pieces.h"

class Pawn: public Pieces {
public:
Pawn(char color) : Pieces(color) {}
~Pawn();
private:
virtual char getPieceType() {
return 'P';
}
bool areSquaresLegal(int srcRow, int srcCol, int destRow, int destCol, Pieces* board[8][8]);
bool isLegalMove(int srcRow, int srcCol, int destRow, int destCol, Pieces* board[8][8]);
};

最后两个方法在.cpp 文件中实现。其他每个类显然都与 pawn 类相似。

当我尝试编译时,构建器给我:undefined reference tovtable for Pawn'`引用构造函数所在的行:

Pawn(char color) : Pieces(color) {}

我哪里错了?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com