- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++でこんなクラスを作りたい。)
C++でクラスを作成し、関数をグループ化する方法
このQ&Aのポイント
- C++初学者がわからないことを質問しています。わかりやすいタイトルと要約文を作成しましょう。
- C++初学者が複数の関数をグループ化するためのクラスを作成したいと質問しています。クラスのメンバ変数とメンバ関数の例も含まれています。
- C++でコンパイルエラーが発生している質問です。mixtureクラスに関連するエラーについても詳細に説明されています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> vec.push_back(va_arg(ap,component&); component& を compoment* とすればコンパイルできました。
その他の回答 (2)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.3
> using namespaceはしないほうが良い 正解です。
質問者
お礼
やはりそうなのですか。もっと勉強いたします。ありがとうございました。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.2
> ヘッダファイルにおけるvector<component*> vec; > の宣言をstd::vector<component*> vec;にしたところです。 g++使いじゃないのでよくわかんないです。 using namespace std; してなかった、とか?
質問者
お礼
確かにヘッダファイルではusing namespaceしていませんでした。 (何かでヘッダファイルであまりusing namespaceはしないほうが良いと見た気がするので。) てっきりmain関数のあるファイルのほうでusing namespace std;をしていたので ヘッダファイルでは書いていませんでした。
お礼
・・・できてしまいました。おぉぉぉ。こんなに悩んだのは何だったのでしょう。 追加で1つ質問させてください。 va_argの引数を直すのと、あと自分でもう1つ治したのが ヘッダファイルにおけるvector<component*> vec; の宣言をstd::vector<component*> vec;にしたところです。 それにしたら長らく悩まされていた ISO C++ forbids declaration of `vector' with notype というエラーが消えました。これは何故だったのでしょうか。 よろしくお願いいたします。