問題タブ [include-guards]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 包含問題
次のような包含パターンがあります。
ただし、これにより、「'Class1_namespace' はタイプに名前を付けていません。」というエラーが発生します。</p>
このエラーはインクルージョンの順序が原因ですか?
考えられる解決策は何ですか?私の問題を解決する前方宣言については疑わしいです。
c++ - #endif の後のトークンは合法ですか?
私は現在次のことを行っており、コンパイラ(MSVC2008 /および2010)はそれについて文句を言いませんが、それが悪い考えかどうかはわかりません:
いつもは と書いていたの#endif // FOO_H_
ですが、今日はそうしないことに気づき、しばらくコメント方式をやっていないらしいのでおかしいと思いました。
すべてのヘッダーに戻って修正する必要があるのはこの悪い習慣ですか (これはクロスプラットフォーム アプリケーションです)、それともそのままにしておいても問題ありませんか?
eclipse - Eclipse-CDT:自動生成されたインクルードガードで名前空間を使用する
.hpp / .cppテンプレートを使用して新しいクラスを作成するときに、 Eclipse CDTで自動生成されたインクルードガードの名前に名前空間を追加することは可能ですか(そしてどのように) ?
私にとって、Eclipseは名前空間を使用して新しいクラスを適切に生成しますが、インクルードガードには名前空間が含まれていないため、同じヘッダーファイルが2つの異なるディレクトリに2回存在する場合、インクルードできるのは1つだけです。
私の場合、名前空間の名前、Eclipseプロジェクト名、およびソースディレクトリの名前はすべて同じであるため、これらはインクルードガードのプレフィックスとしての代替となる可能性があります。
eclipse-cdt - EclipseCDTでの包含ガードのカスタマイズ
クラス生成テンプレート用にEclipseCDTの包含ガードの形式をカスタマイズする方法はありますか?現在の形式はですが<Class Name>_H
、私が欲しいのはのようなものです<namespace>_<namespace>_<class name>_H
。自分のプロジェクト内の異なる名前空間に同じ名前のクラスがあることを期待しているわけではありませんが、万が一の場合は心配しないでください。
c++ - 二重包含のC++/SDL問題
コンパイラからこのエラーが発生します:
g_win_flagsとg_screenが2回含まれているように見えますが、その理由がわかりません。ソースは次のとおりです。
main.cpp
dec.h
init.h
init.cpp
誰かが助けることができますか?よろしくお願いします。良い一日を。
c++ - 複数のクラスで使用される関数
私は以前にこれを尋ねましたが、私は言われたことを使用して、プログラムを機能させようとしました:
おそらく、私は C++ に慣れていないためですが#ifndef
、クラスに同じ .h ファイルが含まれているという問題が原因で、使用に問題があります。sh と th と main.cpp の両方に、rh で定義された構造体が必要です。
私は持っている
私のメインのcppファイルで
そして、私のshファイルとthファイルのそれぞれに、
同様に、私がrhファイルに持っているのは次のとおりですが、コンパイラはrhファイルで、、、についてエラーを出していexpected nested-name-specifier before "namespace"
ますunqualified id before using namespace std;
:expected ';' before "namespace"
メイン cpp が特定のライブラリなどをインポートしないことによって引き起こされる問題はありますか? どうすれば修正できますか?
c++ - C++サイクリック包含の問題
私はこのファイルlogger.hppを持っています:
そしてこのファイルevent.hpp
上手。logger.hppにはevent.hppを含め、event.hppにはlogger.hppを含めます。
logger.hppで演算子を定義する必要があるため、event.hppを含める必要があります。
event.hppには、クラスEventで定義される友情があるため、logger.hppを含める必要があります。
もちろん、これは周期的な再帰です。
私はこれを試しました:
1)logger.hpp:
動作しません。コンパイラは、event.hppにLoggerと呼ばれる認識されないタイプがあることを教えてくれます(そしてもちろん彼は正しいです):
ISO C ++は、タイプのない「ロガー」の宣言を禁止します
コンパイラは、友情宣言がある行(event.hpp内)を示します。
2)event.hppの場合:
動作しません。コンパイラーは、logger.hppにEventと呼ばれる認識されないタイプがあることを教えてくれます(そして、これも明らかな理由で正しいです):
ISO C ++は、タイプのない「イベント」の宣言を禁止します
コンパイラは、演算子宣言がある行(logger.hpp内)を示します。
さて...これに直面する方法がわかりませんか?私はすべてを試し、どこにでも宣言を出しましたが、もちろん、それらは何の助けにもなりません。これを解決する方法??? (ベストプラクティスが存在すると思いますが、そう願っています:))。
ありがとうございました。
c++ - C++ および C のヘッダー ガード
LearnCpp.com | 1.10 — プリプロセッサの初見。Header Guardsの下に、次のコード スニペットがあります。
add.h:
減算.h:
main.cpp:
ヘッダーガードの実装では、次のように言及されています。
- ここでの宣言は何でしょうか?そして、
int main()
後に来るはず#endif
ですか? - 慣習を追加
_H
することですか、それともやらなければならないことですか?
ありがとう。
c++ - C ++-このヘッダーが2回表示されないようにするにはどうすればよいですか?
で:http ://www.learncpp.com/cpp-tutorial/110-a-first-look-at-the-preprocessor/
ヘッダーガードの下には、次のコードスニペットがあります。
add.h:
減算.h:
main.cpp:
#include "mymath.h"
に2回表示されないようにするにはどうすればよいmain.cpp
ですか?
ありがとう。
c++ - 複数の定義と名前空間
複数のファイルに #include する名前空間に関数を含める正しい方法ですか?
test.h