質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

オブジェクト指向

オブジェクト指向プログラミング(Object-oriented programming;OOP)は「オブジェクト」を使用するプログラミングの概念です。オブジェクト指向プログラムは、カプセル化(情報隠蔽)とポリモーフィズム(多態性)で構成されています。

DXライブラリ

DXライブラリとは、DirectXを使ったWindowsソフトの開発に必ず付いて回るDirectXやWindows関連のプログラムを使い易くまとめた形で利用できるようにしたC++言語用のゲームライブラリです。

Q&A

解決済

1回答

1019閲覧

includeがうまく行かない

ozawa252521

総合スコア7

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

オブジェクト指向

オブジェクト指向プログラミング(Object-oriented programming;OOP)は「オブジェクト」を使用するプログラミングの概念です。オブジェクト指向プログラムは、カプセル化(情報隠蔽)とポリモーフィズム(多態性)で構成されています。

DXライブラリ

DXライブラリとは、DirectXを使ったWindowsソフトの開発に必ず付いて回るDirectXやWindows関連のプログラムを使い易くまとめた形で利用できるようにしたC++言語用のゲームライブラリです。

0グッド

0クリップ

投稿2020/10/23 02:13

編集2020/10/23 02:25

https://bituse.info/game/shot/9
こちらのページを参考にシューティングゲームを制作しているのですが
定義されていない識別子とエラーが出てしまいます。

ゲーム画面に敵を追加する内容で

#include "pch.h" #include "control.h" #include "enemy.h" CONTROL::CONTROL() { //プレイヤークラスの生成 player = new PLAYER; back = new BACK; } CONTROL::~CONTROL() { //プレイヤークラスの解放 delete player; } void CONTROL::All() { //線画の領域を指定してる SetDrawArea(MARGIN, MARGIN, MARGIN + 380, MARGIN + 460); back->All(); //プレイヤークラスのAll関数実行 player->All(); if (enemy != NULL) { if (enemy->All()) { delete enemy; enemy = NULL; } } ++g_count; }

こちらを実行すると

1>------ ビルド開始: プロジェクト: gamegame, 構成: Release Win32 ------ 1>control.cpp 1>C:\Users\rikua\source\repos\gamegame\control.cpp(28,6): error C2065: 'enemy': 定義されていない識別子です。 1>C:\Users\rikua\source\repos\gamegame\control.cpp(29,7): error C2065: 'enemy': 定義されていない識別子です。 1>C:\Users\rikua\source\repos\gamegame\control.cpp(30,11): error C2065: 'enemy': 定義されていない識別子です。 1>C:\Users\rikua\source\repos\gamegame\control.cpp(30,16): error C2541: 'delete': ポインターではないオブジェクトを削除することはできません。 1>C:\Users\rikua\source\repos\gamegame\control.cpp(31,4): error C2065: 'enemy': 定義されていない識別子です。 1>プロジェクト "gamegame.vcxproj" のビルドが終了しました -- 失敗。 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

このようなエラーが出てしまいます。 
前にも同じようなエラーがあったのでその時はエラーが起こっている識別子が定義されているヘッダーを見つけてincludeするとうまく行ったので今回も同じように定義されているであろうヘッダーを見つけたので追加したのですがエラーが消えないです。
もしかすると定義されていると思っているヘッダーが実は間違っていたりするのでしょうか?

↓定義されていると思われるヘッダー

#include "pch.h" class ENEMY { private: double x, y; int gh[3]; int width, height; int in_time, stop_time, out_time; int count; bool endflag; public: bool All(); void Move(); void Draw(); ENEMY(); };

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/10/23 02:18

プログラム外でも気を付けるようにされたほうが良いです。 >incluedがうまく行かない ×inclued 〇include コピペするくらいの慎重さがあってちょうど良いです。
ozawa252521

2020/10/23 02:25

ありがとうございます!
dodox86

2020/10/23 02:30

もし指摘が間違いであったら申し訳ないのですが、もしかするとC++のクラスとか、基本的な部分を分かっていないでコーディング(プログラミング)を進めていませんか。どうもエラーへの対応が場当たり的に思えているのですが。やりたいこと(ゲームを作ること)が先にあるのは良いことなのですが、それを実現するにためには最低限先に学ばなければいけないことがあります。
ozawa252521

2020/10/23 02:44

先日から学び始めて昨日の夜からエラーもなくなんとかうまいことやれていたのですがまた行き詰ってしまって・・ 色々調べたり試したりしたのですが自分の力だけではなんとも・・申し訳ないです。
退会済みユーザー

退会済みユーザー

2020/10/23 05:45

せめてエラーの内容くらいはちゃんと読みましょう。 何故エラーが出ているか、エラーの発生個所はどこか、エラーの文章は何を意味しているかをきちんと理解してください。 自分で考えたり、調べたりしてエラーを解消出来るようにならないと、エラーが出る度に質問することになります。 エラーメッセージをWebで検索するだけでもすぐ解決できたりします。
guest

回答1

0

ベストアンサー

純粋に「enemyって何ですか?」というエラーです.

定義されていると思われるヘッダー

の中にも enemy という記述は一切存在していません.

投稿2020/10/23 02:22

fana

総合スコア11682

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozawa252521

2020/10/23 02:41

そうだったんですね! すでにうまく行っている自機プレイヤーの内容をまねして定義してみようとおもいます!
fana

2020/10/23 03:04

「質問への追記・修正、ベストアンサー選択の依頼」にて > 最低限先に学ばなければいけないことがあります とコメントされていますが,今必要なのはまさにこれであろうと見受けます. "まねして" ではなく,理屈を理解/把握してからコードを書くべきです.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問