問題タブ [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.
c++ - データメンバーにアクセスする継承メンバー関数
以下のサンプルコードを検討してください。
上記のコードでは、class A
にはプライベートデータメンバーがあり、プライベートデータメンバーb
もclass B
ありb
ます。この関数display()
は、データメンバーを表示するために使用されます。を使用してdisplay()を呼び出すob1.display()
と、display()はクラスAのプライベートデータメンバーにアクセスしますb
。私はそれを理解しています。しかし、を使用してdisplayを呼び出すと、 display()はどちらにアクセスしますかob2.display
?b
それはb
クラスAのものb
ですか、それともクラスBのものですか?アクセスする理由を説明してくださいclass A's b
またはclass B's b
c++ - C++クラス列挙型メンバー変数
列挙型GameStatesのクラスがあります。(パブリック)コンストラクターで、GameStatesを次のように初期化します。
次に、パブリックメソッドrun()に、次のようなスイッチがあります。
コードはエラーになりませんが、どの状態も満たされていません。enumGameStateの値にどのようにアクセスする必要がありますか?
編集:すべてのクラスコード。
c++ - C++ クラス メンバー関数と C API からのコールバック
以下のコードに示すように、クラス内のwrite_data(…)
関数からこの関数を呼び出す方法を学習しようとしています。funmain()
(これら 2 つの関数をクラス内に配置せずにリストするだけで、このプログラムが機能することはわかっています)。
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data)
行でエラーが発生し、 write_data(…) 関数を呼び出せません。私のコードを修正して、これを達成する方法を教えてください。どんな助けでも大歓迎です。ありがとう。
c++ - アドレスからメンバー関数を呼び出す方法
アプリケーションのクラスに常駐する関数があります。私の目的は、dll をターゲット プロセスに挿入し、そのアドレスでそのメンバー関数を呼び出すことです。関数は次のとおりです。
私はそれをこのように呼んでみました
私はすべてを使いました: __stdcall
, __cdecl
,__thiscall
あなたはそれに名前を付けます.
c++ - ブーストを使用したメンバー関数バインディング
GuiObject クラスから派生した GUI オブジェクトが Serialiser と Deserialiser を登録できるシステムをセットアップしようとしています。これにより、クラス エイリアスのみに基づいて XML ファイルとの間でシリアライズ/デシリアライズできます。例えば:
Button
XML では次のようになります。
GuiObject
したがって、クライアントコードは、オブジェクトのプレースホルダーを使用して派生物に対してシリアライザーとデシリアライザーを登録し、関数を呼び出すことができます。
Button::WriteElement
次のようになります。
GuiObjectXmlSerialiser.h:
GuiObjectXmlSerialiser.cpp:
serialisation_func(object, element);
現在、次の行でこのエラーが発生しています。
そのため、関数を呼び出すと同時に使用するオブジェクトを指定して、メンバー関数を呼び出すためにオブジェクトを渡すのを遅らせる方法を知りたいです。私はこれをしばらく見つめていましたが、役に立ちませんでした。
乾杯。
python - PythonOO-メンバー関数の定義とキーワードself
私はこのコンストラクターでPythonクラスを書いています:
両方のメンバー関数を定義します。
2番目の関数を呼び出すと、エラーが発生します。
手がかりはありますか?
c++ - std::for_eachのメンバー関数の出力を反復処理します
std :: for_eachを使用して呼び出し、結果をファンクターに適用したいアクセサーメンバー関数を持つクラスがあります。以下に、forループとfor_eachを使用する作業バージョンがありますが、for_eachバージョンは不可解で扱いにくいものです。Boostにアクセスできるが、C ++ 11にはアクセスできないことを考慮して、for_eachバージョンをより簡潔にする方法はありますか?
完全に機能する実装は次のとおりです。
注:私の最初の質問は、for_eachを作成する方法でしたが、その解決策とまったく新しい質問はあまり意味がないことがわかりました。
ありがとう、すべての助けは本当にありがたいです!
c++ - C++ ポインターからメソッドへのテンプレートの推定は、x86 をターゲットにしている場合はコンパイルされませんが、x64 では機能します。
私はこのサンプルコードを持っています:
これは で問題なくコンパイルされg++
ます。VC10 でも問題なくコンパイルできますが、64 ビット プラットフォーム用にビルドする場合のみです。32 ビット プラットフォーム用にビルドすると、次のコンパイル エラーが発生します。
このエラーは、特殊化されていないバージョンの Gobstopper が使用されていることを示してSignature
いint (void)
ます。Signature
しかし、エラーはそれが であることも明確に示していますint (void)
。では、エラーはどこから来るのでしょうか? どうすれば修正できますか?
32 ビットから 64 ビットに変更され、エラー メッセージに表示される署名に表示されない可能性がある唯一のことは、呼び出し規約です。どうやら、VC x64 には統一された呼び出し規約がありますが、x86 ではそれぞれの呼び出し規約が異なります。しかし、それが問題だとしても、それを修正する方法がわかりません。
編集:通常の(非メンバー)関数ポインターでこれを試したところ、うまくいきました。
visual-c++ - C++ でメンバ関数を関数ポインタとして格納する際のエラー
プログラムで後で関数を呼び出すために使用される構造体にメンバー関数へのポインターを格納しようとしています。
このようなもの:
他のファイルは次のとおりです。
ここで、私の cpp ファイルは、この func1 のインスタンスを構造体メンバー storePtr に格納する必要があります
しかし、「func2(func1);」行でコンパイル エラーが発生します。「エラー C3867: 'pqr::func1': 関数呼び出しに引数リストがありません。メンバーへのポインターを作成するには、'&pqr::func1' を使用してください」
&pqr:: を使用してスコープを定義しましたが、問題も解決せず、何をすべきか理解できません。
c++ - 「エラー:非静的メンバー参照は特定のオブジェクトに関連している必要があります」とはどういう意味ですか?
オンラインreturn CPMSifDlg::EncodeAndSend
でエラーがあります:エラー:非静的メンバー参照は特定のオブジェクトに関連している必要があります。
どういう意味ですか?