C++ でテキストベースの RPG を作成していますが、同じエラーが何度もポップアップします。検索すると、特定のコンパイラ エラーの解決策が見つかりましたが、作成中のコードを修正するために使用できるものは何も見つかりませんでした。
答えてほしい質問:ポインターを使用して、個別の関数間で変数の通信を有効にするにはどうすればよいですか? つまり、ポインタを使用して変数の値を指し、宣言されていない関数でその値を使用および操作できるようにするにはどうすればよいでしょうか?
TL;DR バージョン: "exp" int 変数を、ポインターを使用して外部関数と通信させようとしています。「ISO C++ はポインターと整数の比較を禁止しています [-fpermissive]」というエラーが表示されます。
長いバージョン:これは私が問題を抱えているコードの一部です:
ファイル charlvl.cpp:
...
int lvl = 1;
int *exp = 0;//value I want communicated to main()
int str = 0;
int vit = 0;
...
ファイルfight.cpp (main.cpp):
...
//you've just killed a monster
cout << "\nThe monster drops to the ground." << endl;
cout << "You gained " << expValue << " experience!" << endl;
&exp += expValue;//&exp is the character's experience.
//expValue is the exp gained upon monster death
//*exp (from charlvl.cpp) is the value I want to communicate to here.
ここでは宣言されていませんが、charlvl.cpp で宣言されています。グローバル変数を使用せずに、charlvl.cpp と main() で宣言された変数間の通信を確立するにはどうすればよいですか?