このプログラムをコンパイルしようとすると、次のエラーが発生します。
Undefined symbols for architecture x86_64:
"Character::setTime(int)", referenced from:
awesome(Character) in ccmsAc4F.o
"Character::getMoney()", referenced from:
_main in ccmsAc4F.o
"Character::setMoney(double)", referenced from:
awesome(Character) in ccmsAc4F.o
"Character::Character()", referenced from:
_main in ccmsAc4F.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
文字は正しくコンパイルされ、エラーはありません。問題は、オブジェクトを参照として渡そうとしているようです。以下は私のプログラムです:
#include <cstdlib>
#include "Character.h"
#include <iostream>
using namespace std;
void awesome(Character& character);
int main() {
Character userCharacter;
awesome(userCharacter);
cout << userCharacter.getMoney();
return 0;
}
void awesome(Character& character)
{
character.setTime(0);
character.setMoney(0.00);
}
誰かが私が間違っていることについて何か洞察を持っていますか?最終的に、より大きなプログラムでは、参照を使用して、すでにインスタンス化されているオブジェクトを編集したいと思います。参照が正しい方法だと思います。どんな助けでも大歓迎です。