- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:include無しにclassが書けない)
include無しにclassが書けない
このQ&Aのポイント
- Visual C++2010で、includeを書かずにclass宣言を行おうとすると「Error:PCH警告」が発生します。
- このエラーメッセージは、プロトタイプ宣言がないときに発生します。
- クラス宣言部分を別のヘッダーファイルに分けたい場合は、ヘッダーファイルに#pragma onceを記述するか、main.cpp内でインクルードする必要があります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
どうも、intellisenseの「仕様」のようです。 ※ intellisenseは、入力時に候補を選ばせたりするやつです。 手許のVS2010で試したところ #if 0 #endif class TestClass {}; int main(void) { return (0); } という意味の無い#if~#endifを入れてもエラーは消えました。 「蛇足」部分について、検索したら同様のことがありました。 http://tanjoin.hatenablog.com/entry/20121213/1355382807
その他の回答 (2)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.2
プロジェクト・プロパティ 校正プロパティ C/C++ プリコンパイル済みヘッダ : プリコンパイル済みヘッダ を使用しない ではどうですか?
質問者
お礼
回答ありがとうございます。 「プリコンパイル済ヘッダー」の欄は空欄でした。 下の「プリコンパイル済みヘッダー ファイル」の欄を空欄にしてみましたが、エラーは解消されませんでした。
- chie65536(@chie65535)
- ベストアンサー率44% (8755/19867)
回答No.1
そのエラーは、mainにプロトタイプ宣言が無いから発生している。 int main(void); //mainをプロトタイプ宣言しておく int main(void) //必ずプロトタイプ宣言しておいてから実体を定義する { return (0); } これで解決する。
質問者
お礼
回答ありがとうございます。 残念ながら、メインルーチンのプロトタイプを宣言してはみましたが、エラーは解消しませんでした。
お礼
VS自体の仕様だったんですね 知らないとドツボにはまってしまいますね… 私ははまってしまいました。 はじめは「なんでこんな単純なコードでエラーになるんだ。クラスの書き方が間違っているのか?」とずっと悩んでいました。 回答ありがとうございました。