問題タブ [member-functions]

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

c++ - データメンバーにアクセスする継承メンバー関数

以下のサンプルコードを検討してください。

上記のコードでは、class Aにはプライベートデータメンバーがあり、プライベートデータメンバーbclass Bありbます。この関数display()は、データメンバーを表示するために使用されます。を使用してdisplay()を呼び出すob1.display()と、display()はクラスAのプライベートデータメンバーにアクセスしますb。私はそれを理解しています。しかし、を使用してdisplayを呼び出すと、 display()はどちらにアクセスしますかob2.displaybそれはbクラスAのものbですか、それともクラスBのものですか?アクセスする理由を説明してくださいclass A's bまたはclass B's b

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

c++ - C++クラス列挙型メンバー変数

列挙型GameStatesのクラスがあります。(パブリック)コンストラクターで、GameStatesを次のように初期化します。

次に、パブリックメソッドrun()に、次のようなスイッチがあります。

コードはエラーになりませんが、どの状態も満たされていません。enumGameStateの値にどのようにアクセスする必要がありますか?

編集:すべてのクラスコード。

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

c++ - C++ クラス メンバー関数と C API からのコールバック

以下のコードに示すように、クラス内のwrite_data(…)関数からこの関数を呼び出す方法を学習しようとしています。funmain()(これら 2 つの関数をクラス内に配置せずにリストするだけで、このプログラムが機能することはわかっています)。

curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data)行でエラーが発生し、 write_data(…) 関数を呼び出せません。私のコードを修正して、これを達成する方法を教えてください。どんな助けでも大歓迎です。ありがとう。


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

c++ - アドレスからメンバー関数を呼び出す方法

アプリケーションのクラスに常駐する関数があります。私の目的は、dll をターゲット プロセスに挿入し、そのアドレスでそのメンバー関数を呼び出すことです。関数は次のとおりです。

私はそれをこのように呼んでみました

私はすべてを使いました: __stdcall, __cdecl,__thiscallあなたはそれに名前を付けます.

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

c++ - ブーストを使用したメンバー関数バインディング

GuiObject クラスから派生した GUI オブジェクトが Serialiser と Deserialiser を登録できるシステムをセットアップしようとしています。これにより、クラス エイリアスのみに基づいて XML ファイルとの間でシリアライズ/デシリアライズできます。例えば:

ButtonXML では次のようになります。

GuiObjectしたがって、クライアントコードは、オブジェクトのプレースホルダーを使用して派生物に対してシリアライザーとデシリアライザーを登録し、関数を呼び出すことができます。

Button::WriteElement次のようになります。

GuiObjectXmlSerialiser.h:

GuiObjectXmlSerialiser.cpp:

serialisation_func(object, element);現在、次の行でこのエラーが発生しています。

そのため、関数を呼び出すと同時に使用するオブジェクトを指定して、メンバー関数を呼び出すためにオブジェクトを渡すのを遅らせる方法を知りたいです。私はこれをしばらく見つめていましたが、役に立ちませんでした。

乾杯。

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

python - PythonOO-メンバー関数の定義とキーワードself

私はこのコンストラクターでPythonクラスを書いています:

両方のメンバー関数を定義します。

2番目の関数を呼び出すと、エラーが発生します。

手がかりはありますか?

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

c++ - std::for_eachのメンバー関数の出力を反復処理します

std :: for_eachを使用して呼び出し、結果をファンクターに適用したいアクセサーメンバー関数を持つクラスがあります。以下に、forループとfor_eachを使用する作業バージョンがありますが、for_eachバージョンは不可解で扱いにくいものです。Boostにアクセスできるが、C ++ 11にはアクセスできないことを考慮して、for_eachバージョンをより簡潔にする方法はありますか?

完全に機能する実装は次のとおりです。

注:私の最初の質問は、for_eachを作成する方法でしたが、その解決策とまったく新しい質問はあまり意味がないことがわかりました。

ありがとう、すべての助けは本当にありがたいです!

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

c++ - C++ ポインターからメソッドへのテンプレートの推定は、x86 をターゲットにしている場合はコンパイルされませんが、x64 では機能します。

私はこのサンプルコードを持っています:

これは で問題なくコンパイルされg++ます。VC10 でも問題なくコンパイルできますが、64 ビット プラットフォーム用にビルドする場合のみです。32 ビット プラットフォーム用にビルドすると、次のコンパイル エラーが発生します。

このエラーは、特殊化されていないバージョンの Gobstopper が使用されていることを示してSignatureint (void)ます。Signature しかし、エラーはそれが であることも明確に示していますint (void)。では、エラーはどこから来るのでしょうか? どうすれば修正できますか?

32 ビットから 64 ビットに変更され、エラー メッセージに表示される署名に表示されない可能性がある唯一のことは、呼び出し規約です。どうやら、VC x64 には統一された呼び出し規約がありますが、x86 ではそれぞれの呼び出し規約が異なります。しかし、それが問題だとしても、それを修正する方法がわかりません。

編集:通常の(非メンバー)関数ポインターでこれを試したところ、うまくいきました。

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

visual-c++ - C++ でメンバ関数を関数ポインタとして格納する際のエラー

プログラムで後で関数を呼び出すために使用される構造体にメンバー関数へのポインターを格納しようとしています。

このようなもの:

他のファイルは次のとおりです。

ここで、私の cpp ファイルは、この func1 のインスタンスを構造体メンバー storePtr に格納する必要があります

しかし、「func2(func1);」行でコンパイル エラーが発生します。「エラー C3867: 'pqr::func1': 関数呼び出しに引数リストがありません。メンバーへのポインターを作成するには、'&pqr::func1' を使用してください」

&pqr:: を使用してスコープを定義しましたが、問題も解決せず、何をすべきか理解できません。

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

c++ - 「エラー:非静的メンバー参照は特定のオブジェクトに関連している必要があります」とはどういう意味ですか?

オンラインreturn CPMSifDlg::EncodeAndSendでエラーがあります:エラー:非静的メンバー参照は特定のオブジェクトに関連している必要があります。

どういう意味ですか?