[解決済み] C++、ヘッダーファイルで構造体を宣言する方法
2022-02-17 14:07:43
質問事項
student"という名前の構造体を
student.h
ファイルを作成しましたが、その方法がよくわかりません。
私の
student.h
ファイルのコードは完全に構成されています。
#include<string>
using namespace std;
struct Student;
を使用する一方で
student.cpp
ファイルは完全に構成されています。
#include<string>
using namespace std;
struct Student {
string lastName, firstName;
//long list of other strings... just strings though
};
残念ながら
#include "student.h"
のようなエラーが多数発生します。
error C2027: use of undefined type 'Student'
error C2079: 'newStudent' uses undefined struct 'Student' (where newStudent is a function with a `Student` parameter)
error C2228: left of '.lastName' must have class/struct/union
コンパイラ(VC++)が "student.h" のstruct Studentを認識しないようです?
Student 構造体を "student.h" で宣言して、#include "student.h" するだけで構造体を使用できるようにするには、どうしたらよいですか。
どのように解決するのですか?
を配置してはいけません。
using
ディレクティブは、ヘッダーファイルの中で
不要な頭痛の種
.
も必要です。 インクルードガード をヘッダーに追加してください。
EDIT: もちろん、include guardの問題を解決した後は、ヘッダーファイルでstudentの完全な宣言も必要です。他の方が指摘されているように、あなたの場合、前方宣言では十分ではありません。
関連
-
[解決済み】コンストラクターでのエラー:識別子を期待されますか?
-
[解決済み] error: 'if' の前に unqualified-id を期待した。
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み] 警告:暗黙の定数変換でのオーバーフロー
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] なぜテンプレートはヘッダーファイルでしか実装できないのですか?
-
[解決済み] C++でクラスと構造体はいつ使い分けるべきか?
-
[解決済み] C++の'struct'と'typedef struct'の違い?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】構造体のベクター初期化について
-
[解決済み】coutはstdのメンバではない
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】識別子 "string "は未定義?
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】C++の余分な資格エラー
-
[解決済み】クラスのコンストラクタへの未定義参照、.cppファイルの修正も含む
-
[解決済み】C++ - ステートメントがオーバーロードされた関数のアドレスを解決できない。
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み】システムが指定されたファイルを見つけられませんでした。