使用对象参数声明函数

时间:2015-11-13 15:21:08

标签: c++

我有这段代码:

#ifndef AI_H
#define AI_H

void BuildTree(Board b);
int getMove();
void acceptMove(int);


#endif

和cpp文件:

#include "AI.h"
#include "Board.h"

void BuildTree(Board b)
{

}

int getMove()
{

    return 0;
}
void acceptMove(int)
{

}

由于头文件中的参数Board b,我收到错误。 错误是:

Error 1 error C2065: 'Board' : undeclared identifier

为什么不接受一个对象?我希望函数按值接收对象,而不是引用。

3 个答案:

答案 0 :(得分:2)

只需在Board.h中加入ai.h

#ifndef AI_H
#define AI_H

#include "Board.h"

void BuildTree(Board b);
int getMove();
void acceptMove(int);

#endif

答案 1 :(得分:1)

编译器抱怨董事会:它不知道它是什么。您必须定义(不仅仅是声明)它才能使用该类型的对象(例如将其作为参数)。

您可以#include定义Board

的标头文件来解决您的问题
#include "Board.h"

答案 2 :(得分:1)

在您的第一个文件Board.h

中加入AI.h