をチョークするようにコンパイラになり、私はSDLのRenderCopy機能を使用しています:適用スコープ解決演算子が
SDL_RenderCopy(Game::mRenderer, Game::mTexture, &mSourceRect, &mDestinationRect);
最後の2つの引数が、それはへのポインタを期待している、にしてから画像をコピーする送信元と宛先の矩形です直前のコードは期待通りに機能し、メンバー変数に期待されるように「SDL_Rect Game :: mSourceRect」とタイプされています。
私は彼らがこの関数に渡されたときにrectsにスコープ解決演算子を適用しようと、この機能をいつでも、私は問題を得る:
SDL_RenderCopy(Game::mRenderer, Game::mTexture, &Game::mSourceRect, &Game::mDestinationRect);
エラーは次のとおりです。
argument of type "SDL_Rect Game::*" is incompatible with parameter of type
"const SDL_Rect *" SDL2Refresher
& Game :: mSourceRectという型をチェックすると、スコープ解決演算子を使用しない場合とまったく同じになります。私の質問はなぜ地球上でコードがコンパイルされないのでしょうか?
エラーリストには、「SDL_Rect Game :: *はconst SDL_Rect * ""という型のパラメータと互換性がありません。
私はこの2つの引数でスコープ解決演算子を使用することはできませんが、仕事でC#を一日書きますので常識的に使うだけで、常に名前空間で明示的にアクセスしています。私はそれを頻繁に行うときにスコープのものを使用しません(明示的にこれをスコープすることは、まずは悪いことではありません)。
メンバーへのポインタが誤って作成されています。 –
ゲームは名前空間かクラスですか? – immibis
申し訳ありませんが、ゲームはクラスですが、それを述べたはずです。 –