問題タブ [redeclaration]
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++ - 元の宣言を囲まない名前空間での再宣言
名前空間メンバーは、宣言の名前空間を囲む名前空間で定義できます。
名前付き名前空間のメンバーは、定義されている名前の明示的な修飾 (3.4.3.2) によってその名前空間の外部で定義することもできます。ただし、定義されているエンティティが名前空間で既に宣言されており、その定義が名前空間の宣言ポイントの後にある場合に限ります。宣言の名前空間を囲みます。
クラスは、宣言の名前空間を囲む名前空間で定義できます。
class-head-name に nested-name-specifier が含まれる場合、class-specifier は、nested-name-specifier が参照するクラスまたは名前空間、またはその名前空間のインライン名前空間セット (7.3.1) (つまり、単に using 宣言によって継承または導入されたものではない) であり、class-specifier は、前の宣言を囲む名前空間に現れるものとします。そのような場合、定義のクラスヘッド名のネストされた名前指定子は、decltype 指定子で始まってはなりません。
また、メンバー関数の定義と静的データ メンバーの定義にも同じ規則があります。
私の質問は、元の宣言を囲まない名前空間で再宣言 (定義ではない) が合法かどうかです。
c++ - C ++ forループで再宣言された変数の範囲がわかりにくい
次の while ループは終了しません。これは、変数x
が while ループ内で再宣言されているためです。しかし、2回目以降の反復で、次のステートメントのブロックスコープで定義されたxではなく、外側のスコープで定義されたxx<10
を考慮する理由がわかりません。これは、最初の反復が終了すると、ブロック スコープで定義された が破棄され、ループが新たに実行され始めるためですか?y=x
x
x
c - インクルード ガードなしで再宣言エラーを回避する
インクルード ガードを使用せずに再宣言エラーを回避したい場合、依存関係ツリーは 1 つまたは複数のツリーのみでなければならないという基本的な規則があります。
親が 2 つの異なる方法で連絡できる場合はいつでも、違反が発生しますか?
例えば:
declarations.h には string.h
が含まれます data.h には宣言
.h が含まれます data.c には data.h
が含まれます ui.c には data.h と string.h が含まれます
これは再宣言エラーを生成します。これは、ui.c とインクルード string.h の両方が、直接と data.h 経由の 2 つの異なる方法であるためです。したがって、ui.c には同じ親への複数のパスがあるため、構造はツリーではありません。
同じ親への複数のパスを持ち、再宣言エラーを発生させない方法はありますか?
c - c でのグローバル変数宣言
このコードをコンパイルすると、すべて正常に動作しますが、メイン関数内でこれを指定すると、
次のようなエラーが表示されます
なぜそうなのですか?
javascript - Javascript での変数の再宣言
今日、JavaScript を使用すると、エラーを発生させずにこれを実行できることが (難しい方法で) わかりました。
i
誤って両方のループに同じ識別子を使用しました。
JavaScript コンパイラ/インタープリタは (Java のように) エラーを生成せず、外側のループで変数を隠す別の変数を作成しません (C++ のように)。それらは同じ変数を参照するため、外側のループは 1 回だけ実行されます。
これはなぜですか?この動作は、どのような状況でも役に立ちますか?
typescript - typescript での分割の複数の結果を無視する
次のようにタイプスクリプトの破壊を使用しています。
しかし、これはコンパイラ オプションに違反しているnoUnusedLocals
ため、私が本当に欲しいのは次のとおりです。
しかし、これはブロックスコープ変数 ( という名前の 2 つの変数_
) の再宣言に違反しています。
これに対処する最善の方法は何ですか?おそらく、ここでの破壊は間違った選択です。
php - PHP はクラスを再宣言できません - エラーが必要です - Silex フレームワーク
私はプロジェクトに取り組んでいますが、非常に厄介な問題があります。プロジェクトのいくつかの重要なクラスを含む PHP ファイル rb.php を使用します (RedBean ORM のファイル rb.php がすべて 1 つにまとめられています)。問題は、特別な場所ではファイルを正しく使用できますが、別の場所では正しく使用できないことです。
これは私の樹木です:
index.php にアクセスすると、すべてがうまくいき、できるようになりますrequire('rb.php');
私は $lifeCycle の優れた価値を持っています。しかし、関数add()、updates()などのコントローラーでこのファイルを使用したいと思います..だから私はこれを試します:
しかし、私はこのエラーがあります:
ファイルはすでに存在しているに違いないと思います。しかし、コメントすると、次のエラーが発生します。
このクラスは先ほどコメントした rb.php ファイルにあるため、これは正常です。
require をすれば class redeclare がありますが、入れないと class がありません。どんな助けでも大歓迎です。