这行代码来自两个.cpp文件中的第一个文件
静态字节board64+3;...此处声明了更多67的代码//板数组
板卡在这里使用
if ((boardFR(move) == WHITE_PAWN && R(TO(move)) == RANK_8) )
在代码中还有更多内容。
我正在尝试将其转换为更多面向对象的程序。首先,我尝试在另一个.h和.cpp文件中分配电路板
这是我的board.h文件
class Board
{
public:
Board();
private:
};这是我的other.cpp文件
Board::Board()
{
byte *board =new byte[67];
}这是我得到的错误
mscp.cpp:在函数‘int search(int,int,int)’中:
mscp.cpp:1649:26:错误:未在此作用域中声明‘board’
对于(i=ply-4;i>=boardLAST;i-=2) {^ board.cpp:在构造函数‘Board::Board()’中: board.cpp:7:2: error:‘byte’未在此作用域中声明
byte board =new byte67;^ board.cpp:7:7:错误:‘board’前应为‘;’
字节板=新的byte67;
为什么我的第一个.cpp文件看不到板子?
发布于 2014-02-14 13:08:21
这里的众多错误之一是,您只在构造函数中将board声明为局部变量。如果您希望在类之外可见,则需要将其设置为Board类的公共成员。
PS:即使在解决了其他问题之后,您目前也可能会泄漏内存!因为当board超出作用域时,您不会释放在构造函数末尾分配的堆空间。
https://stackoverflow.com/questions/21771246
复制相似问题