問題タブ [redefinition]

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.

0 投票する
1 に答える
1313 参照

objective-c - Objective-C および Objective-C++ における static メンバの定義

Objective-C のソースと Objective-C++ のソースをコンパイルするときに違いがあります。

test.h での Class1 と Class2 の宣言:

さて、これは test.m での Objective-C の実装です:

私はこのコマンドで正常にコンパイルします:

今、私はこの目的の C++ 実装 test.mm (まったく同じソース) を正確に使用します。

そして、このコマンドラインでコンパイルします (-x オプションの違い):

しかし、私はエラーが発生します:

ObjC ではなく ObjC++ でこのエラーが発生するのはなぜですか?

0 投票する
2 に答える
4692 参照

objective-c - エラー: Linux 上の Objective-C でコンパイルするときの 'struct StructName' メッセージの再定義

Ubuntu 12 Linux で Objective-C コードをコンパイルしようとしています。

main.m は次のようになります。

CEFoo.h には、次の定義があります。

コンパイルに行くとき

次のメッセージが表示されます。

これは、構造体を2回再定義するか、インポートの代わりにインクルードを使用する場合の再帰インポートによって引き起こされる可能性があることを読みました。

定義の 1 つのオカレンスのみを表示します。

また、プロジェクト内のすべてのインクルードステートメントを検索しましたが、インクルードとインポートの明らかな使用、または CEFoo.h のデュアルインクルード/インポート (複数回定義/インポートされている構造を含むファイル) は見つかりませんでした。 .

この原因をさらに突き止めるにはどうすればよいでしょうか。私はそれを2回インポートしていると思います-もしそうなら、初めて定義された詳細またはログを介してそれを見る方法はありますか?

これをトラブルシューティングするために私ができる他のアイデアはありますか?

ティア

0 投票する
1 に答える
9676 参照

c++ - Winsock再定義エラー

Visual C ++ 2010でプロジェクトをコンパイルしていますが、Winsockの再定義に問題があります。

まず第一に私は得る:

しかし、winsock、winsock2、またはws2tcpipを含めると、次のような多くのエラーが発生します。

0 投票する
1 に答える
454 参照

tcl - [incr-tcl] でクラスにメソッドを動的に追加する方法

Incr Tcl では、アプリケーションを再起動せずに、実行中の Tcl インタープリターにクラスのメソッドを変更して再評価することで、プログラミングの生産性が向上します。そのためには、本体の構文を使用してクラス定義の外でメソッドを定義し、実行中の Tcl インタープリターで本体の定義を再評価する必要があります。それはうまくいきます。Incr Tclでは、驚くべきことに、明らかに設計上、

クラス メソッドとプロシージャの本体は対話型デバッグのために何度でも定義できますが、クラスは 1 回しか定義できません。

ただし、開発中は当然、メソッドを分割 (リファクタリング) して、同じクラスで定義する 2 つ以上の追加メソッドにします。

実行中の Tcl インタープリターで既存のクラスにメソッドを強制的に追加する方法を見つけたいと思います。

  1. クラス定義を削除して実行中の Tcl インタープリターに再評価することなく、
  2. 拡張する増分 Tcl クラスの既存のオブジェクト インスタンスを含む Tcl アプリケーションを再起動せずに、および
  3. 既存のオブジェクトが上記の Tcl インタープリターから削除されるという結果はありません。

これは、本番コードではなく、開発/デバッグの儀式としてのみ必要です (つまり、プログラムでメソッドを動的に追加する必要はありません)。ぬるぬるした、邪悪な、裏口の答えを楽しませてくれます。Incr Tcl のプロダクション コピーを変更して追加の動作を追加することは実用的ではありません。使用する必要がある Incr Tcl のバイナリは、残念ながら、実行中のプロセスに静的にバインドされており、共有ライブラリの魔術を介してアンロードおよびリロードできないからです。

0 投票する
1 に答える
1142 参照

java - static method redefining rules

I know it is a pretty beaten topic here but there is something i need to clarify, so bear with me for a minute.

Static methods are inherited just as any other method and follow the same inheritance rules about access modifiers (private methods are not inherited etc.)

Static methods are not over-ridden they are redefined. If a subclass defines a static method with the same signature as one in the superclass, it is said to be shadowing or hiding the superclass's version not over-riding it since they are not polymorphic as instance methods.

The redefined static methods still seem to be following some of (if not all) of the over-riding rules.

Firstly, the re-defined static method cannot be more access restricted than the superclass's static method. Why??

Secondly, the return types must also be compatible in both the superclass's and subclass's method. For example:

In eclipse it shows an error at line at: The return type is incompatible with Test2.show() Why??

And Thirdly, are there any other rules that are followed in re-defining static methods which are same as the rules for over-riding, and what is the reason for those rules?

Thanx in advance!!

0 投票する
8 に答える
223 参照

javascript - JavaScript の「|| {}」構造を理解する

重複の可能性:
「var FOO = FOO || {}" は Javascript で意味しますか?
Javascript - 変数宣言に条件を追加できますか

これは、スコープの再定義ではなく、スコープの設定に関係していると思います。これは、一般的な JavaScript フレームワークでよく見られます。

トップレベルの変数を誤って再定義しないことと関係がありますか?

0 投票する
0 に答える
1649 参照

c++ - さまざまなタイプのnsuinteger(別名unsigned int)とcdvdestinationtypeを使用したTypedefの再定義

私はCordovaを使用#import <Cordova/CDV.h>していますが、私のプロジェクトでは、C ++スタイルの別のライブラリを使用しているため、ファイルは。である必要があります*.mm

問題は、コンパイルすると次のエラーが発生することです。

このエラーは次のCDVCamera.hとおりです。

問題は、Objective-CとC++を組み合わせていることに起因しているようです。

どうすれば解決できますか?

0 投票する
2 に答える
8476 参照

c - 列挙型と構造体の定義

コードブロックを使用してプロジェクトをコンパイルするときにエラーが発生します。私の問題は、列挙型の定義と構造体の定義に起因しています。

それらはヘッダーファイルでボット定義されており、.c関連ファイルでそれらの列挙型と構造体のみを使用していたため機能しました。しかし、.hファイルを別の.cファイルにインクルードすると、エラーが発生します。ここにいくつかのコードがあります。

maps.h

maps.c

たとえば、maps.hを含めると、次のようになります。game.cまたはgame.hiにはこのエラーがあります。

エラー:「列挙型プロパティ」のネストされた再定義

理解できません !

0 投票する
1 に答える
886 参照

c++ - glmのコンパイル中にOpenGL再定義エラーがWindowsSDKファイルと競合する

モジュール(OpenGLandを使用glm)(単一のプログラムとしてOKをテストおよびコンパイルした)を大きなプログラムに追加すると。プロジェクトでglmをコンパイルするときにエラーが発生しました:

私はグーグルを検索し、ここで同様の問題を見つけました。答えは、ヘッダーファイルのシーケンスに問題があると言っていましたが、修正方法がわかりません。

のコード、type_gentype.hppコードはglmにあります。

enumの再定義部分c:\program files\microsoft sdks\windows\v6.0a\include\shlobj.h(3599)

0 投票する
5 に答える
13600 参照

c++ - テンプレートの再定義C++で

問題の解決策を検索して検索しましたが、見つけられないようです。Code::Blocks を使用していますが、テンプレート クラスの再定義エラーが発生します。

ここに私の「vectorAux.h」ファイルがあります:

ここに私の「vectorAux.cpp」ファイルがあります:

このプログラムの最終的なファイルは「vectorDriver.cpp」ですが、これにはエラーはありません。これは、関数を呼び出してプログラムを実行するだけです:

与えられたすべてのヘルプ/アドバイスに本当に感謝します! しばらく調べてみたところ、見つかった各ソースはヘッダーファイルを保護するように言っていますが、すでにそれを行っており、問題はまだ続いています.