gpt4 book ai didi

c++ - 错误 : does not name a type

转载 作者:行者123 更新时间:2023-11-28 01:03:05 25 4
gpt4 key购买 nike

我正在用 C++ 实现一个国际象棋游戏,其中一些类是“Board”和“Piece”。从“Piece”继承了“Rook”、“King”等类。

所以板是一个二维数组,所以 board.h 包含了 piece.h。

对于最近的开发(关于实现 Action ),我想让棋子能够访问棋盘。所以在 piece.h 中我包含了 board.h。

现在这会产生上述错误。

部分代码:

//Function in piece.h
#include "board.h"
bool Piece::move( int toX, int toY, bool enemyPawn, const Board & b )
Error: Board does not name a typeError: ISO C++ forbids declaration of ‘b’ with no type [-fpermissive]

最佳答案

由于 move 仅使用引用,因此您绝对可以避免包含 board.h 并仅转发声明您的类 Board。如果你真的需要让 piece know about board 和 board know about piece,你可以向 Board 声明一个接口(interface)类(纯抽象)并包含该接口(interface)而不是 board 确保使 board 从接口(interface)派生 - Martin 刚刚编辑

关于c++ - 错误 : does not name a type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7810773/

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