[解決済み] error C2061: syntax error : identifier " とは何ですか?
2022-01-30 17:45:58
質問
コンパイル時にエラーコール "エラー C2061: シンタックスエラー : 識別子 'Player' "が発生します。
私のコードのどこが問題なのかがわかりません。以下は私のコードです。
#include "Platform.h" #include "Player.h" class Collision { public: Collision(void); ~Collision(void); static bool IsCollision(Player &player, Platform& platform); };
IsCollision"メソッドにエラーが発生しました。
プレイヤー.h
#include <SFML/Graphics.hpp>
#include "rapidxml.hpp"
#include <fstream>
#include <iostream>
#include "Collision.h"
using namespace rapidxml;
class Player
{
private:
sf::Texture playerTexture;
sf::Sprite playerSprite;
sf::Vector2u position;
sf::Vector2u source;
sf::Vector2u size;
int frameCounter, switchFrame, frameSpeed;
int walkSpriteWidth;
float velocity;
bool isWalk;
bool isStand;
bool isFaceRight;
public:
Player(void);
~Player(void);
void Init();
void Draw(sf::RenderWindow *window);
void MoveForward();
void MoveBackward();
void Update(sf::Clock *clock);
void SetSourceY(int value);
void SetWalk(bool value);
void SetFacing(std::string value);
void SetStand(bool value);
void Stand();
std::string GetStatus();
void PrintStatus();
sf::Vector2f GetPosition();
int GetWidth();
int GetHeight();
};
解決方法は?
循環的なインクルード依存関係があります。Collision.hはPlayer.hをインクルードしており、逆もまた然りです。最も簡単な解決策は
#include "Collision.h"
から
Player.h
を使用しているため
Collision
クラスは
Player
の宣言があります。それに加えて、あなたのインクルードのいくつかは
Collision.h
は前方宣言に置き換えることができます。
// forward declarations
class Player;
class Platform;
class Collision
{
public:
Collision(void);
~Collision(void);
static bool IsCollision(Player &player, Platform& platform);
};
そして、includeを
Collision
の実装ファイルです。
関連
-
[解決済み】coutはstdのメンバではない
-
[解決済み】C-stringを使用すると警告が表示される。"ローカル変数に関連するスタックメモリのアドレスが返される"
-
[解決済み】IntelliSense:オブジェクトに、メンバー関数と互換性のない型修飾子がある
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み] explicit キーワードの意味は?
-
[解決済み] ルール・オブ・スリーとは?
-
[解決済み] コピーアンドスワップ慣用句とは?
-
[解決済み] ムーブセマンティクスとは何ですか?
-
[解決済み] C++の識別子でアンダースコアを使用する場合のルールについて教えてください。
-
[解決済み】C/C++の"-->"演算子とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】LLVMで暗黙のうちに削除されたコピーコンストラクタの呼び出し
-
[解決済み】C++でランダムな2倍数を生成する
-
[解決済み】関数名の前に期待されるイニシャライザー
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み】「Expected '(' for function-style cast or type construction」エラーの意味とは?
-
[解決済み】エラー:free(): 次のサイズが無効です(fast)。
-
[解決済み】標準ライブラリにstd::endlに相当するタブはあるか?
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み] スタックアロケーションにより初期化されていない値が作成された