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

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

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

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

1684閲覧

依存性の注入というアプローチで前方宣言と思われる構文エラーの解決方法が知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/09/29 03:40

編集2020/09/30 06:09

提示コードのDrawVertexクラス部のコンストラクタ部の引数 Owner->VertexAttribute構造体を指して VertexAttribute a という引数を作りたいのですがどうすればいいのでしょうか?色々試してもエラーになってしまうので原因が知りたです。
イメージ説明

hpp

1#ifndef ___GAME_H 2#define ___GAME_H 3#include <iostream> 4class Game 5{ 6public: 7struct VertexAttribute 8{ 9float Position[3]; 10}; 11Game(); 12void draw(); 13}; 14#endif;

cpp

1#include "Game.hpp" 2Game::Game() 3{ 4} 5void Game::draw() 6{ 7printf("Draw\n"); 8}

hpp

1#ifndef ___DRAW_VERTEX_ 2#define ___DRAW_VERTEX_ 3#include <iostream> 4#include "Game.hpp" 5class DrawVertex 6{ 7public: 8DrawVertex(Game* Onwer, const char* texture, Game::VertexAttribute vert[100], int idx[100]);//コンストラクタ 9void Draw();//描画する 10private: 11GLuint vao; 12GLuint vbo; 13GLuint ibo; 14float *vertex; 15float* index; 16}; 17#endif

cpp

1#include "DrawVertex.hpp" 2//#include "Game.hpp" 3//コンストラクタ 4DrawVertex::DrawVertex(Game* Onwer, const char* texture, Game::VertexAttribute vert[100], int idx[100]) 5{ 6}; 7void DrawVertex::Draw() 8{ 9}

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

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

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

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

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

guest

回答1

0

ベストアンサー

Maybe, sprite(Game* Owner, Game::VertexAttribute a).

投稿2020/09/29 03:45

fana

総合スコア11634

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

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

退会済みユーザー

退会済みユーザー

2020/09/29 06:15

単一ソースファイルのみで行う場合はその回答通りで出来ましたが。複数のソースファイルで行いたい場合どうすればいいのでしょうか?
fana

2020/09/29 06:40

> 複数のソースファイルで行いたい このことが,本件とどういう関係があるのでしょうか? (何が問題点ですか?) 回答時とはコードが丸ごと変わっているようですが, > DrawVertex(Game* Onwer, const char* texture, Game::VertexAttribute vert[100], int idx[100]); これの第一引数であるGame型が解決できているのであれば,その内部型である Game::VertexAttribute 型に関しても同時に解決できていると思うのですが.
退会済みユーザー

退会済みユーザー

2020/09/29 06:54

それが提示画像のように識別子エラーが出てしまって解決出来ませんw
fana

2020/09/29 07:19

少なくとも,現在提示されている4つのコードを上から順に {Game.hpp, Game.cpp, DrawVertex.hpp, DrawVertex.cpp} として,VisualStudioでてきとーなコンソールアプリケーションプロジェクトに追加した限りでは,提示のようなエラーは発生しません.
退会済みユーザー

退会済みユーザー

2020/09/29 11:26 編集

#include "DrawVertex.hpp"をGame.hppに追加しているためでした。 修正 9/29日 「やっぱり出来ないのですがgithubのコードでは識別子Gameエラー」と表示されてしまいます。どうすればいいのでしょうか?
fana

2020/09/29 08:04

質問内容と関係ないですが,不要なセミコロン ';' がありますよ. ・一番上のコードの #endif; ・DrawVertex::DrawVertexの定義の末尾 };
退会済みユーザー

退会済みユーザー

2020/09/29 14:04 編集

質問を編集しました。理由は提示コードは想定していた物を再現したものですが内容が違ったので意味がかわってしまいました。
fana

2020/09/29 14:26

質問内容が別物になるような続け方はよろしくないと考えます. そのようなやり方では既存の回答やコメントが全く意味不明になってしまいます. (実際に役に立つかはともかくとして)後から読む者の役に立つ形のログが残ることを目指している体裁の場所なのですから,そういう形は守るべきです.
fana

2020/09/29 14:31

あなたとしては話が「続いている」のかもしれませんが, であれば,時系列の変化が読み手にも把握できるように努めるべきでしょう. 少なくとも,大元の質問内容が完全に抹消されるような編集の仕方では,それは達成され得ないと考えます.
退会済みユーザー

退会済みユーザー

2020/09/30 00:21 編集

わかりました。質問を削除したいので回答を削除して頂けますか?
退会済みユーザー

退会済みユーザー

2020/09/30 00:56 編集

(判ってないな) 何か注意・指摘されたら、面倒くさくなって削除して逃げようとするのやめたほうがいいですよ。 以前も同じような事してましたけど。 https://teratail.com/cautions_question ここの確認事項全部読んで、その意味を理解してください。 何度も繰り返してるから人の注意を聞き入れる気はないようですし、何言っても無駄なんでしょうけど。
txty

2020/09/30 01:10

回答は消せないので、次から努力すればいいかと。あと、私の方もアドバイスください。
fana

2020/09/30 01:12 編集

要は, 「Qに対して既にいくつかのAやコメントが付いている状態」のものを見てそれらの意味が読めること が必要であろうという話です. (QやAやコメントの内容やその質とは無関係に) そうでないと,それぞれの文が全く繋がらず,何の話なのかがわからなくなってしまいますので. 例えばこの質問では,最初から(?)関わっている私ですら,話がどう変遷しているのかを追うことが困難になっています.
fana

2020/09/30 01:21

(「ログとしてどうの」という話とは無関係に)質問する側としての損得だけで考えても,話の流れが不明瞭だと回答がつきにくいであろうと思うのです. 個人的に, syoshinsya_さんは質問の仕方のせいでかなり損をされているのではないか?と思うんですよね. (なんか最近,私しか回答してない質問が多いように感じています.GL系の話とかは,内容的には私なんかではなくもっとまともな知識/経験のある誰かが一瞬でズバッと解決しそうなものも多いように思うのですが.)
txty

2020/09/30 01:59 編集

(GL系が動かす段階にはいるとソースコードだすのが嫌なんだと思います。)しょうがないですが。
fana

2020/09/30 01:39

「ソースが無いと問題点を把握できない内容であって,でもソースを出せない」場合, それは単に【このような場では(そのままでは)扱えない】ことを意味するのではないでしょうか.(e.g. 仕事関係のコード) 同じ問題が再現する(本物とは全く別の)コード例を用意できる話なのであれば,このような場でその問題を話題とするためには,必要十分なコード例をせっせとこしらえたりする作業が必要になるでしょう.
退会済みユーザー

退会済みユーザー

2020/09/30 01:43 編集

昔この質問主に何度か回答付けた事がありますが、ベストアンサー出した後に元の質問と違う質問を続けてきたり(今回みたいなやつ)、少しWeb検索やデバッグしたら判りそうな事を手当たり次第質問しまくっているので、呆れて回答つけなくなりましたね。自分で考えるというのが嫌いなのか出来ないのかは判りませんが、そういう人なんでしょう。
txty

2020/09/30 01:58

回答や意見を要求すると応答するのでまだましと思いたいですが、質問が無駄ってわけではないのですよね。
fana

2020/09/30 01:59

(回答を書く側が「質問の内容」だけを見ている状態,すなわち「その質問をしているのが誰なのか」を意識しない状態というのが.質問をする側にとって良い状態なのであろう.)
txty

2020/09/30 02:32

これからいい方向へ転がるといいですね。
fana

2020/09/30 03:06

> これからいい方向へ転がるといいですね そのように思わないならば,わざわざこんな話を書かないので. (その場合の最もシンプルなアクションというのは,単に「関わらない」ことになるだろう)
退会済みユーザー

退会済みユーザー

2020/09/30 03:19

なるほど。わかりました。次から質問内容を編集しないで質問内容が変わる場合は新しい質問を作成するようにします。
txty

2020/09/30 03:19

単に話をきりあげようと思いました。(もう十分だろうし)
退会済みユーザー

退会済みユーザー

2020/09/30 03:21

回答は消せないのですね。知りませんでした。出来れば前の質問に戻したいのですが内容を覚えていないのでそれとなんだか意味のわからない感じになってきたので収集がつかないので消そうと思い回答を消して欲しいとお願いしました。次回から気よつけます、すいませんでした。
fana

2020/09/30 03:51

> 次から質問内容を編集しないで質問内容が変わる場合は新しい質問を作成するようにします 質「これが問題だぞ」 回「それはこうだぞ」 質「お前の言う通りにしたけど解決しないぞ」 というパターンならば,同一質問で継続(元の質問文を消さない.質問文に追加することがあるならば「追記」する). 質「これが問題だぞ」 回「それはこうだぞ」 質「それでいけたわ.で,その後××したら今度は■■ということに…」 というパターンの場合は別の質問にすればよいと思う.
退会済みユーザー

退会済みユーザー

2020/09/30 05:24

なるほど。次回から気おつけます。
Zuishin

2020/09/30 05:26

この質問から直してください。次回からと言う人は次回も絶対気をつけません。
退会済みユーザー

退会済みユーザー

2020/09/30 05:51

直したいのですが内容を忘れてしまい。修正出来ません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問