問題タブ [member-function-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 に答える
8351 参照

c++ - クラスの関数をパラメーターとして同じクラスの別の関数に渡すにはどうすればよいですか

基本的に、dif関数を使用して、クラス(ac)の別の要素を抽出したいと思います。

コードは次のようになります。

.h:

.cc:

動作しませんでした。エラー#547「メンバー関数のアドレスを取得するための非標準形式」が表示されます。

編集:

私はそれをから呼びます:

ただし、別のエラーがあります。

0 投票する
6 に答える
9612 参照

c++ - C++ のオブジェクト指向コールバック?

オブジェクト指向のコールバックを c++ で簡単かつ便利に作成できるライブラリはありますか?

たとえば、言語 Eiffel には「エージェント」の概念があり、多かれ少なかれ次のように機能します。

出力は次のようになります: Hi from Bar! 3 フーからこんにちは!

そのため、エージェントは、メンバー関数をオブジェクトにカプセル化し、定義済みの呼び出しパラメーター (Hi from Foo) に沿って渡し、オープン パラメーター (?) を指定し、後で呼び出すことができる他のオブジェクトに渡すことができます。

C++ では非静的メンバー関数に関数ポインターを作成することは許可されていないため、C++ で簡単に使用できるものを実装するのはそれほど簡単ではないようです。C ++でのオブジェクト指向コールバックに関するGoogleの記事をいくつか見つけましたが、実際には、簡単にインポートできるいくつかのライブラリまたはヘッダーファイルを探しています。これにより、同様にエレガントな構文を使用できます。

誰でも私にいくつかのヒントがありますか?

ありがとう!

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

c++ - MSVS2010リンカーエラーの悲しみ-何が悪いのか完全にはわからない

非静的メンバー関数の関数ポイントを静的関数ポインターを期待する関数に渡すための機能を提供するためのチュートリアルのコードライブラリを使用しています。おそらく私が何を訴えているのかを知るのに役立つので、ここにリンクhttp:/があります。 /www.codeproject.com/KB/cpp/thunk32.aspxこのコードは、私がダウンロードしてほぼすべてのものをセットアップしたBoostライブラリを使用しています。

サンクライブラリでは、ヘッダーファイルの1つに次のようなセクションがあります。

しかし、これは私に膨大な量のエラーを与え、それを次のように変更することで解決できます

ダウンロードされたこのコードは、2番目のプロジェクトとして私のソリューションに含まれています。このプロジェクトは、正常にコンパイルおよびビルドできます。しかし、このコードを使用している私のプロジェクトにはリンクの問題があり、質問を保存するために、これらのエラーメッセージが表示されます

これは、コンストラクタとデストラクタが宣言されておらず、私のWebCamera.Init()も台無しになっていると言っていると思います。Thunk32プロジェクトがエクスポートするライブラリが他のプロジェクトに含まれていることを確認しましたが、それでもこれらのエラーが発生します。

??=include変更すべき正しい仮定を行ったかどうかを知りたいのですが、変更した#include場合、何を間違えたのか、または失敗したのかによって、これらのリンカーエラーが発生します。または、関数ポインターを非静的メンバー関数に渡すことができる別の方法を私に提供できれば、それは素晴らしいことです。

ありがとう

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

c++ - メンバー関数ポインターとファントム クラス

以前の質問に関連して、メンバー関数ポインターをいじっています。以下のコードでは、変数 (カウント) を変更するクラス (B) のメソッドを呼び出しますが、このクラスのインスタンスは作成しません。なぜこれが機能するのですか?

(申し訳ありませんが、このメンバー関数ポインターは私を悩ませています)

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

c++ - C構造体のみを使用してOOPyのままですか?

あなたが持っているとしましょう:

そして、ある時点で次のことをしたいと思います:

特定の「ダンプ」関数がその特定の「値」をC++メソッドがメンバー変数を知るように(暗黙の「this」を介して)知るように、c_structオブジェクトをインスタンス化する方法はないと思いますか?私はすでに答えを知っていると思います(「いいえ」)。もしそうなら、OOPy の方法で C 構造体を使用する他の方法はありますか?

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

c++ - メンバー関数ポインター

C++ FAQ Lite の次の内容が当てはまる場合: 「関数名は関数へのポインターに減衰します」(配列名がその最初の要素へのポインターに減衰するため); アンパサンドを含める必要があるのはなぜですか。

だけでなく:

2 番目のケースでは、Fred::f は関数であり、その関数へのポインターに減衰する可能性があります。

この質問がそれほどばかげていないことを願っています。

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

c++ - メンバー関数へのポインターの問題

以下のコード (コメントを参照してください):

エラー
「エラー 1 エラー C2064: 用語は、0 引数を取る関数として評価されません」

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

c++ - エラー C2064: 項は引数を 0 個取る関数として評価されません

私が書いているいくつかのコードには、次の行があり、エラー C2064 が発生します。

rs_opCodes は次のように定義されています。

エラー C2064 が表示される理由を知っている人はいますか?

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

c++ - テンプレート型からテンプレート化されたメンバー関数へのポインターを取得するにはどうすればよいですか?

次のコードはコンパイルされません...理由はわかりますか? これは違法な C++ ですか?

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

c++ - メンバ関数への C++ ポインタ、宣言

私は次のクラスを持っています:

別のクラスで宣言されたメンバー関数へのポインター:

メンバ関数へのポインタを宣言/初期化する方法:

1]静的クラスメンバー関数

2]非クラスメンバー関数