まず第一に、私は一般的なプログラミングにかなり慣れていないので、これは厄介かもしれません。
さて、私はrpgゲームを作成していて、すべての武器をWeapons.cppというファイルに入れたいと思っています。
「weaponDamage」や「weaponName」などのすべてのグローバル変数をcommon.hというヘッダーファイルに入れて、メインファイルと.cppファイルの両方からこれらの変数にアクセスして操作できるようにしました。しかし、問題は、それらの変数と関数が私のヘッダーで見つからないように見えることです。
ここにいくつかのコードがあります:
common.h:
#include <string>
#ifndef COMMON_H_INCLUDED
#define COMMON_H_INCLUDED
//global variables
extern int pureDamage = 0;
extern int pureHealth = 0;
extern int weaponDamage;
extern int armorDefense;
extern int totalDamage = pureDamage + weaponDamage;
extern int totalHealth = pureHealth + armorDefense;
extern int totalLuck;
extern string starsign;
extern string weaponName;
//all weapons
void weaponSwordIron();
void weaponSwordGold();
void weaponSwordSwordOfTheHeavens();
void weaponBowSimple();
void weaponBowLongBow();
void weaponBowThunder();
void weaponStaffStaffOfFlames();
void weaponStaffStaffOfLightning();
void weaponStaffStaffOfAssKicking();
#endif // COMMON_H_INCLUDED
Weapons.cpp:
#include <iostream>
#include <string>
#include <common.h>
using namespace std;
void weaponSwordIron()
{
int weaponDamage = 5;
string weaponName = "Iron Sword";
}
void weaponSwordGold()
{
int weaponDamage = 8;
string weaponName = "Gold Sword";
}
void weaponSwordSwordOfTheHeavens()
{
int weaponDamage = 15;
string weaponName = "Sword Of The Heavens";
}
void weaponBowSimple()
{
int weaponDamage = 5;
string weaponName = "Simple Bow";
}
void weaponBowLongBow()
{
int weaponDamage = 8;
string weaponName = "Long Bow";
}
void weaponBowThunder()
{
int weaponDamage = 15;
string weaponName = "Thunder Bow";
}
void weaponStaffStaffOfFlames()
{
int weaponDamage = 5;
string weaponName = "Staff Of Flames";
}
void weaponStaffStaffOfLightning()
{
int weaponDamage = 8;
string weaponName = "Staff Of Lightning";
}
void weaponStaffStaffOfAssKicking()
{
int weaponDamage = 15;
string weaponName = "Staff Of Ass Kicking";
}
そして私のメインの小さな部分、と呼ばれる関数GiveWeapon()
:
void GiveWeapon()
{
system("cls");
if (starsign == "mage")
{
weaponSwordIron();
cout << weaponDamage;
cout << weaponName;
}
else if (starsign == "warrior")
{
weaponBowSimple();
}
else if (starsign == "archer")
{
weaponStaffStaffOfFlames();
}
else
{
ChooseStarsign();
}
AssignAttributes();
}
そして、はい、common.hを含めることを覚えていまし
た。IDEで発生するエラーCode::Blocks
は:error:common.h:そのようなファイルやディレクトリ
がない理由がわからないので、助けてください。
長い投稿をお詫び申し上げます。よろしくお願いいたします。