問題タブ [member-pointers]

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 投票する
2 に答える
177 参照

c++ - C++ テンプレートとメソッド ポインターを使用した継承

私が宣言した場合:

そして私はしようとします

コンパイラは私に報告します

なぜ?回避は継承します

次に、回避はスキーマです<.....>

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

c++ - コンパイル エラー: 未解決のオーバーロードされた関数型

g++ 4.7.2 で以下をコンパイルしようとしました。

それは私に与えます

なんで?

ありがとう。

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

c++ - メンバーのメンバーへのC++ポインター

メンバー ポインターの推論チェーンが内部メンバーに到達する唯一のソリューションである場合、テンプレートを使用して単一の型でこれをカプセル化できますか?


コードを gcc でコンパイルできるようになりました

みんなありがとう

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

c++ - ポインターとメンバー ポインターを関数ポインターに結合する

そのようなコードを検討してください:

func_ptr(...)から MyFuncを呼び出すには、このコードをどのように完成させる必要があり*class_ptrますか?

可能であれば、何らかの形で aと aを a に結合しMyClass*void (Myclass::*)(int)void (*)(int)たいと考えています。

std::mem_fnそうでない場合は、 and std::function(または他の機能的なユーティリティ)を巧妙に使用することでうまくいくと思います。

理想的には、C++11 ソリューションが必要です (egstd::mem_funは非推奨になっているため)。

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

c++ - C++、メンバー関数のアドレスを見つけるにはどうすればよいですか?

解決しようとしている特定の問題があります。クラスのメソッドの場所 (メモリ内) を見つける必要があります。メソッドへのポインタが処理されるため、構文制約にぶつかったと思いますmember pointer 例:

int (Foo::*address)(int) = のように書くこともできます auto address =

現在、VS2008では、Foo::targetFunctionのアドレスは「0x000F B890」ですが、&Foo::targetFunction「0x000F 1762」と表示されています

まず、メンバー ポインターは、メンバー ポインター演算子.*およびを使用して正しく機能します->*。targetAddress をメンバー ポインターにキャストしても、まだ機能します。

第二に、場所はサンク関数にすることができます!

最後に、VS2008 のデバッガーを使用して targetFunction の値をmember pointerのアドレス 1762 から VS デバッガーが報告する値 B890 に変更すると、私のコードは正しく動作します!

メンバー ポインター値 (1762) の代わりにアドレス値 (B890) を取得する C++ 固有の方法はありますか?


リクエストに応じて、私が機能させようとしているコードは次のとおりです。

findLocationfrom aの最初の行をmember pointer実際のに置き換えると、function pointer完全に機能します。ただし、いくつかのクラスメソッドに対しても読み書きする必要があります。このメソッドは奇妙なmember pointers によって壊れています。

また、いくつかのローカル関数が正しいアドレスを報告しないこともありました (最近)。コンパイラの動作に制約されずに関数アドレスを見つける別の方法はありますか?

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

c++ - メンバーへのポインターを作成できますか

メンバ ポインタを作成したいと思います。基本的に、メンバーが異なるメインクラスがあります。そのクラスのメンバーのメンバーを指すメイン クラスのメンバー ポインターを作成するにはどうすればよいですか。以下のコードが私がやろうとしていることを説明していることを願っています:

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

c - C で構造体内のポインター メンバーにアクセスするにはどうすればよいですか?

構造体メンバー 'al' と共用体メンバー a、c、f にアクセスするにはどうすればよいですか?

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

c++ - C++ のクラス メンバーのポイントについて混乱している

以下の3クラス:

出力結果は0 0 0 0 8 2です。&Derive::var1との結果について混乱してい&Derive::var2ます。なぜそれらはそれぞれ と ではなく等しいの0ですか?04

注: gcc4.7.1 と vs2010 でテストしています。そして、結果は同じです。