問題タブ [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 投票する
14 に答える
74304 参照

c++ - 関数が関数へのポインタを返すようにする方法は? (C++)

文字を受け取り、その文字に応じて関数へのポインターを返す関数を作成しようとしています。関数が関数へのポインタを返すようにする方法がわかりません。

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

c++ - ポリモーフィックメンバー関数ポインタ

DirectX9でコールバックイベントシステムを作成しようとしています。メソッド関数ポインターを使用して、マウスクリックのイベントをトリガーしようとしています。しかし、私はいくつかの問題を抱えています。私のゲームは、ゲーム状態マネージャーを使用してレンダリングを管理しています。私のゲームステートはすべて、基本クラスAbstractGameStateから派生しています。

この特定のメソッドを持つスプライトオブジェクトがあります:

MainMenuStateは私のゲームが存在する現在のゲーム状態であり、StartGameはこのクラスのvoidメソッド部分です。ユーザーがクリックしたときに実行できるように、関数ポインターをスプライトクラス内の変数に格納したいと思います。

ポインタをダウンキャストしようとしましたが、実際には機能しませんでした。

私のスプライトクラスには、これら2つの変数も含まれています

どんな助けでもいただければ幸いです

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

c++ - 文字列に特化したテンプレート関数へのポインタを取得するにはどうすればよいですか?

文字列入力に基づいて、一連のフィルター関数を使用して適切なルーチンを実行しようとしていました。テンプレートを使用して一般的なケースのマッチャー関数を作成しようとしましたが、特殊な関数(構造体、実際のアプリケーション)へのポインターを格納しようとすると、「タイプがタイプと等しくない」エラーが発生します。

Visual C++8の「コンソールアプリケーション」からの抜粋

これはエラーで失敗します

(メインの戻り値にもエラーがありますが、ここでは関係ありません。)

const char *をintに置き換えると、同じ例が成功します。

0 投票する
11 に答える
171815 参照

java - Java の関数ポインタ

これは一般的で些細なことかもしれませんが、具体的な答えを見つけるのに苦労しているようです. C# にはデリゲートの概念があり、これは C++ の関数ポインターの概念に強く関連しています。Javaに同様の機能はありますか? ポインターがやや欠けていることを考えると、これについての最善の方法は何ですか? 明確にするために、ここではファーストクラスについて話しています。

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

c++ - テンプレート引数として上記の関数ポインタを持つテンプレートクラスのオブジェクトを受け取る関数を指す関数ポインタ。可能?

x__x

私はこのようなことをしたい:

しかし、コンパイルエラーが発生します:

エラーC2065:'fp':宣言されていない識別子

どういうわけかこれを実装することは可能ですか?

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

.net - C ++ / CLIでレポートコールバックの参照によって関数を渡すにはどうすればよいですか?

データファイルを処理し、問題が発生したときにエラーを報告するコードがいくつかありますが、クラスにコールバック関数を与える方法を理解するのに問題があります。これが私が達成しようとしている種類のことの簡単な例です:

...問題があります:

ですから、私は物事を誤用している、または誤解しているという印象を受けます。たぶんこれを達成するためのより良い方法がありますか?

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

c++ - C++ での関数ポインタのキャスト

dlsym() によって返された void ポインターがあります。void ポインターが指す関数を呼び出したいと思います。したがって、キャストして型変換を行います。

私も試してみreinterpret_castましたが、うまくいきませんでしたが、C キャスト演算子は機能しているようです..

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

c++ - アドレスを関数ポインタに変換してメソッドを呼び出す方法

WaitAndCallFunc()関数内でTest1()メソッドを呼び出したいと思いました。

コード:

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

c++ - C++で関数への引数として「関数ポインタ」または「関数への参照」を使用するとどうなりますか?

Numerical Recipesでは、彼らは私がこれまでに見たことのないものを使用しており、次の情報を簡単に見つけることができませんでした:

私が推測しているのは、関数を参照渡しすることです (これは正しいですか)? なぜこれが関数ポインタを使用するのに有利なのでしょうか? それぞれの方法はどのような状況で好まれますか?

2 つ目の問題が あります。関数を初めて呼び出すと、プログラムが数秒間ハングします。ここで、私が渡す引数関数自体が、関数ポインタとは異なる関数を呼び出します。

2 レベルの参照/ポインター関数を処理するより良い方法は何ですか?