問題タブ [local-class]

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 に答える
490 参照

c++ - 関数内で宣言された相互 C++ クラス

関数内でクラスを定義して、お互いを「認識」するにはどうすればよいですか? これは、私が理解しようとしているものの大幅に縮小されたバージョンです。私は次のようなことをしたいと思います:

A::bar() はまだ B について何も知らないため、これは機能しません。関数の外では、B が宣言されるまで A::bar() の定義を延期できます。何かのようなもの:

しかし、それは関数内では機能しないようです。

これをすべて機能させる巧妙なスコープ宣言の代わりに、これは C++ では不可能であるという明確な回答も歓迎します (参照してください)。

これを回避する他の方法があることは知っています (たとえば、foo の外でクラスを宣言する) ので、同様のことを行う方法についての回答は探していません...

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

c++ - 関数内で定義された構造体を std::for_each のファンクターとして使用できないのはなぜですか?

次のコードはコンパイルされません。コンパイラは、*for_each* の呼び出しに一致する関数がないと文句を言います。これはなぜですか?

struct FlipFunctorfunction の前に移動するflip_allと、コードがコンパイルされます。

完全なエラー メッセージ:

for_each(std::_Rb_tree_iterator<std::pair<Element* const, Element*> >, std::_Rb_tree_iterator<std::pair<Element* const, Element*> >, flip_all(std ::map<Element*, Element*, std::less<Element*>, std::allocator<std::pair<Element* const, Element*> > >)::FlipFunctor)'</p>

0 投票する
3 に答える
1837 参照

java - Java ローカル クラスとインターフェイス

実装のために次のことが可能かどうか疑問に思っていました:

2 つのインターフェイスがあり、それぞれに 1 つの関数ヘッダーがあるとします。 たとえば、iterface1 には関数 g(...) があり、interface2 には関数 f(...) があります。

ここで、クラスを作成し、このクラスがこれら 2 つのインターフェイスを実装していることを宣言します。クラスでは、次のことを試みます。

関数 g(...) の実装を開始し、その実装で、interface2 を実装するローカル クラスを作成し、このクラスに f(...) の実装を追加します。

0 投票する
3 に答える
2391 参照

c++ - Localクラス、Innerクラス、NestedクラスはC ++では同じものですか?

Localクラス、Innerクラス、Nestedクラスは、C ++では同じ意味ですか?

0 投票する
4 に答える
269 参照

java - Java。ローカルクラスはそれを最終的にしない理由はありますか?

Javaのローカルクラス(メソッドまたは{}で囲まれたブロックで宣言するクラス)について質問があります。

ローカルクラスをfinalとして宣言しない理由はありますか?ローカルクラスから他のクラスを継承することはできませんが(同じスコープで定義されていない場合)、finalとして宣言すると、コンパイラーによってコードがはるかに単純になる可能性がありますか?

ありがとうございました!

0 投票する
4 に答える
10116 参照

c++ - ローカル クラスで静的データ メンバーが許可されないのはなぜですか?

static constメンバーがローカル クラスに存在できない理由は何ですか? かなりばかげた制限のようです。

例:

標準 (9.8.4) からの引用:

ローカル クラスには、静的データ メンバーがあってはなりません。

0 投票する
3 に答える
1675 参照

c++ - ローカルクラス:C++03とC++11

C ++ 11のローカルクラスの使用法に変更はありますか?

C ++ 03では、ローカルクラスをテンプレート引数として使用できないようです(覚えています)。

このコードを考えてみましょう。

ただし、コンパイルエラー(C ++ 03モード)が発生し、(ideone)と表示されます。

prog.cpp:4:エラー:「f(main():: S)」の呼び出しに一致する関数がありません</ p>

ただし、C ++ 11モード( ideone )でコンパイルすると正常にコンパイルされます。これは私には理にかなっています。そうしないと、ラムダが機能しません。したがって、ローカルクラスの使用法には少なくともこの変更があると思います。私は正しいですか?ローカルクラスに関するその他の変更点は何ですか?

読者が自分自身を比較できるように、また将来の参考のために、標準(C++03とC++11の両方)から関連するテキストを引用してください。

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

java - Java がローカル クラスを見つけられないと文句を言うのはなぜですか?

2 つのエンティティ間で複雑なマッピングを実行するように Dozer をセットアップしようとしています。percentCompleted基本的に、値が 1 (100%) であるかどうかに基づいて 、double をブール値に変換する必要があります。

これを行うために、次のメソッドを作成しました。

問題は.fields()、 のシンボルが見つからないと言って呼び出しが不平を言うことですisCompletedConverter。ローカルクラスを行うのはこれが初めてなので、何か間違ったことをしていると確信していますが、正確にはわかりません。

0 投票する
3 に答える
687 参照

c++ - ローカルクラスのフレンド機能の使い方は?

次の例に示すように、フレンド関数はローカル クラスで宣言できるためです。外部からアクセスできない関数定義で定義されている場合、ローカルクラスのメンバーにアクセスするためにどのように使用できますか?