問題タブ [constructor-overloading]
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.
python-2.7 - socker サーバー コンストラクターのオーバーライドで 4 を指定すると、5 つの引数が期待されます
TCPHandler クラスのコンストラクターをオーバーライドして、変数をハンドラー関数に渡すことができるようにしようとしています。スタック上の他の投稿に出くわしましたが、明確ではありませんでした。メソッドの sendall 関数にバイト配列を渡すhandle()
必要があり、上記を行うためのさまざまなアプローチを調べたところ、コンストラクターをオーバーライドすることが最も好ましいオプションでした。
これは私のコードです:
を出力するhelp(superTCPHandler))
と、handle()
関数がその継承を表示しないか、コードがコンパイルされても何も実行されないか、またはクライアントが何も受信しません。handle()
関数がカスタム クラスから呼び出されていないと想定しています。どこかの__init__
部分が間違っている気がして、いろいろなアプローチで何度もトライしましたがうまくいきませんでした。そうする正しい方法は何ですか?
基本クラス (MyTCPHandler) のオブジェクトを作成する必要があるかどうかわからないため、custom_server オブジェクトを初期化する前にサーバー オブジェクトにコメントしました。私はソケットプログラミングにちょっと慣れていません。私の盲目的な間違いを許してください。
これは私が得るエラーです:
custom_server = superTCPHandler((ホスト, ポート), superTCPHandler, bytearray([114, 100, 100 ,100, 2]))
TypeError: init () は正確に 5 つの引数を取ります (4 つ指定)
[終了コード 1 で 0.1 秒で終了]
c++ - C++: テンプレート内の競合するオーバーロードと「名前空間以外のスコープでの明示的な特殊化」エラー
message
通常は のサブクラスを含むクラスにテンプレートをネストしましたmessage
が、それ自体を含めたい場合はmessage
、競合する ctor オーバーロードの問題に遭遇します。(競合するメソッドの 1 つを無視するようにできれば良いのですが、方法がわかりません。) そこで、messsage
containee を特殊化しようとしましたが、
名前空間以外のスコープ「クラス メッセージ」での明示的な特殊化
そのようなエラー(here、here、hereなど)に対処する方法を調査しましたが、これらのソリューションを問題に押し込む方法がわかりません。
T
通常、 は のサブクラスであることを思い出してくださいmessage
。唯一の例外は の場合T
です message
。次に、2 番目と 3 番目の ctor の間に明らかな競合があります。でも特化してみると
その後、そのコンパイラ エラーが発生し、その対処方法がわかりません。
java - Javaは「明示的なコンストラクター呼び出し」中にほぼ同一のコンストラクターをどのように区別しますか?
私は Java チュートリアルを読んでいましたが、明示的なコンストラクターの呼び出しについて質問がありました。まず、チュートリアルに書かれているフィールドとコンストラクターに加えて、私が追加した別のコンストラクターを次に示します。
デフォルトのコンストラクタでは、「this(0,0,1,1);」行は 0 の種類を指定していません。私の質問は、私が書いた 3 番目のコンストラクター (「短い」型で) に行かないか、エラーを出さないのはなぜですか。オブジェクトの「x」値を出力すると、常に 0 になり、決して 4 になりません。Java はどのようにして「int」を使用することを決定するのですか?