gpt4 book ai didi

C++ ~ 在客户端调用函数给出错误 : "identifier ____ is undefined"

转载 作者:行者123 更新时间:2023-11-28 06:39:30 24 4
gpt4 key购买 nike

我来找你是为了解决一个涉及多个不同文件的问题。我不确定为什么会收到标题中指定的错误。让我把文件放在下面,然后从那里开始。

虚拟客户端.cpp

#include "Gameboard.h"          //for Gameboard
#include "Location.h" //for function prototypes
#include "zList.h" //for Zombies
#include <iostream> //for input/output stream

using namespace std;

void main()
{
srand(123456789);

Gameboard myGB;

myGB = Gameboard();

ZombieListClass();

ZombieRec zombieList[MAX_ZOMBIES];

PopulateZombies(zombieList[MAX_ZOMBIES]); // this throws the error here of "Error: identifier "PopulateZombies" is undefined"

}

zList.h

#ifndef ZLIST_H
#define ZLIST_H

#include "Location.h" // for list record
#include "ZombieRec.h"
#include "Gameboard.h"

class ZombieListClass
{

public:
ZombieListClass(); //default constructor

void PopulateZombies(ZombieRec zombieList[]);

bool IsInBounds(int row, int col);


private:
ZombieRec list[MAX_ZOMBIES]; //stores the items in the list
int length; //# of values currently in the list
int currPos; //position of current element
int strength; // health and attack units of a zombie

};

#endif

zList.cpp

#include "zList.h"

ZombieListClass::ZombieListClass() //default constructor
{

length = 0;
currPos = 0;
strength = 5;
LocationRec zombieLoc;

}

void ZombieListClass::PopulateZombies(ZombieRec zombieList[])
{
int row, col;

for (int i = 0; i < MAX_ZOMBIES; i++)
{
row = rand() % MAX_ROW + 1;
col = rand() % MAX_COL + 1;

while (!IsInBounds(row, col))
{
row = rand() % MAX_ROW + 1;
col = rand() % MAX_COL + 1;
}

zombieList[i].currLoc.row = row;
zombieList[i].currLoc.col = col;

}


}

bool ZombieListClass::IsInBounds(int row, int col)
{

if (row == 0 || row == MAX_ROW + 1 || col == 0 || col == MAX_COL + 1)
{
return false;
}
else
{
return true;
}

}

游戏板.h

#ifndef GAMEBOARD_H
#define GAMEBOARD_H


#include "Location.h"
#include "ZombieRec.h"
#include "zList.h"


const int MAX_ROW = 3; // total number of rows in the board
const int MAX_COL = 3; // total number of cols in the board



class Gameboard
{

public:

Gameboard();


private:
int boardSizeArr[MAX_ROW + 2][MAX_COL + 2];


}; // end Gameboard

#endif

最后,Gameboard.cpp

#include "Gameboard.h"

Gameboard::Gameboard()
{

// Declares a board with a boundary along the outside
boardSizeArr[MAX_ROW + 2][MAX_COL + 2];

}

我不想被人灌输,也不想有人为我解决我的问题,我想弄清楚我做错了什么,这样我的项目的其余部分就不会像以前那样坎坷一直以来。

回顾我的错误,“identifer “PopulateZombies” is undefined”,我无法想象这是为什么。这可能与我做事的范围有关吗?如果我遗漏了任何代码(我没有把所有东西都放在那里,但我认为我有所有相关的东西)请告诉我,只要这需要我就可以来回交谈。

提前感谢所有试图提供帮助的人:)

-安东尼

最佳答案

一般情况下,您使用变量调用函数,而不是在类中定义时直接调用它:

ZombieListClass zombieList=new ZombieListClass();  // add a variable here

ZombieRec zombieList[MAX_ZOMBIES];

zombieList.PopulateZombies(zombieList[MAX_ZOMBIES]); // See the difference?

关于C++ ~ 在客户端调用函数给出错误 : "identifier ____ is undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26205734/

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