我在頭文件中有兩個類,分別稱爲「Map」和「Character」。 「地圖」有一個叫做「地圖」的類,「角色」有一個叫做「角色」的類。 類「map」繼承類「字符」,並且都包含另一個的頭文件。 在類「地圖」的方法之一,我使用類「字符」的屬性成員,並且工作正常。但是,當我嘗試在類「字符」中使用「地圖」屬性成員時,它不起作用。無論「地圖」是否繼承「角色」,都會發生這種情況。未被其他類識別的C++類屬性(包含頭部,公共)
這是類映射的正常工作:
#pragma once
#include <iostream>
#include "Character.h"
#include "AI.h"
using namespace std;
class map: public character
{
public:
static const int mapRow = 30; //-- all maps are the same size
static const int mapColumn = 116;
char marr[mapRow][mapColumn];
map()
{
for (int i = 0; i<mapRow; i++)
{
for (int j = 0; j<mapColumn; j++)
{
marr[i][j] = ' ';//set whole array to blank
}
}
}
void display(void);
void level1(void);
void level2(void);
void level3(void);
void treeBlueprint(int);
};
//displays the map
void map::display(void)
{
//This displays the level
for (int i = 0; i<mapRow; i++)
{
for (int j = 0; j<mapColumn; j++)
{
cout << marr[i][j];
}
cout << "\n";
}
}
這是編譯的時候,給我下面的錯誤級人物:
- 「地圖」:不是類或命名空間名稱
- 'map':不是類或名稱空間名稱
- 'mapColumn':未聲明的標識符
「mapRow」:未聲明的標識符
#pragma once #include "Map.h" #include <iostream> using namespace std; class character { int hpPool = 100; int currentHp =hpPool; public: char Tommy ='?'; int position1; int position2; char movement; character() { position1 = 5; position2 = 5; movement = '0'; } void moveUp(void); void moveDown(void); void moveLeft(void); void moveRight(void); void moveFunct(void); }; void character::moveUp(void) { if (position1 != 1) { position1--; } else { //Hitting a wall } } void character::moveDown(void) { if (position1 != (map::mapRow-2)) { position1++; } else { //Hitting a wall } } void character::moveLeft(void) { if (position2 != 1) { position2--; } else { //Hitting a wall } } void character::moveRight(void) { if (position2 != (map::mapColumn-2)) { position2++; } else { //Hitting a wall } } void character::moveFunct(void) { switch (movement) { case 'w': moveUp(); break; case 'a': moveLeft(); break; case 's': moveDown(); break; case 'd': moveRight(); break; } }
'使用命名空間std;'之後'類地圖:公共character'僅僅是一個壞主意。 –
我似乎仍然有錯誤,當我把它拿出 – Nuthead
僅供參考,在函數簽名參數上刪除void關鍵字,這是沒有必要的C++ –