私は C++ はまったく初めてで、プログラミングの経験は Java だけです。私はまだポインターを処理しようとしています。2 番目のポインターが指しているのと同じオブジェクトを指すようにポインターを割り当てるにはどうすればよいですか? 具体的には、またはのcurrentPlayer
ポイントに割り当て、ゲームの状態の変化に応じて前後に切り替えたいと考えています。player0
player1
using namespace std ;
struct Player {
public:
string name ;
//fields
};
class Game {
private:
Player *player0 ;
Player *player1 ;
Player *currentPlayer ;
bool player0First ;
stringstream *gameLog ;
//more fields
public:
void play() ;
void changeGmState(Player*) ;
//other member functions, etc.
} ;
void Game::play() {
if (player0First)
currentPlayer = *player0 ;
else
currentPlayer = *player1 ;
*gameLog << "It's " << currentPlayer->name << "'s turn!" << endl ;
changeGmState(currentPlayer) ;
//code
}
currentPlayer
関数内のへの代入はplay()
正しいですか? Xcode はそうではないと考えているようですが、ポインターの代入と間接参照演算子の適切な使用について、私はまだひどく混乱しています。関連する質問: このコードは正しいプレイヤー名を に挿入しますgameLog
か? currentPlayer
に渡すと or を渡すのchangeGmState()
と同じように機能することを確認できますplayer0
かplayer1
? その他のフィードバックは大歓迎です。よろしくお願いします。