問題タブ [reference-parameters]

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

c# - C#プロパティとrefパラメーター、なぜ砂糖がないのですか?

C#で作業しているときに、このエラーメッセージに遭遇しました

プロパティまたはインデクサーをoutまたはrefパラメーターとして渡すことはできません

私はこれの原因を知っており、正しいタイプのローカル変数を作成し、それをout/refパラメーターとして関数を呼び出してから、プロパティに割り当てるという簡単な解決策を実行しました。

になる

プロパティが現在のコンテキストでの取得と設定をサポートしていない場合、これは明らかに失敗します。

なぜC#は私のためにそれをしないのですか?


これが問題を引き起こす可能性がある場所を私が考えることができる唯一のケースは次のとおりです。

  • 糸脱毛
  • 例外

スレッド化の場合、その変換は書き込みが発生するタイミング(関数呼び出し後と関数呼び出し後)に影響しますが、それを信頼するコードは、壊れたときにほとんど共感を得られないのではないかと思います。

例外については、懸念事項は次のとおりです。ref関数がスローよりもいくつかのパラメーターの1つに割り当てるとどうなりますか?些細な解決策では、パラメータのすべてが割り当てられるか、割り当てられない場合があります。繰り返しになりますが、これは言語の使用がサポートされるとは思いません。


注:このエラーメッセージが生成される理由の仕組みを理解しています。私が探しているのは、C#が簡単な回避策を自動的に実装しない理由です。

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

c++ - C++ で参照パラメーターを使用するにはどうすればよいですか?

参照パラメーターの使用方法を理解しようとしています。私のテキストにはいくつかの例がありますが、それらは複雑すぎて、なぜ、どのように使用するのか理解できません。

どのように、そしてなぜ参照を使用したいですか? パラメータを参照にせず、&オフのままにするとどうなるでしょうか?

たとえば、これらの関数の違いは何ですか:

形式参照を変更するために参照変数が使用されることを理解しています。これにより、パラメータの双方向交換が可能になります。しかし、それは私の知識の範囲であり、より具体的な例は非常に役立ちます.

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

c++ - オンザフライでのオブジェクトの初期化

私はplayersと呼ばれるベクトルとPlayerと呼ばれるクラスを持っています。そして、私がやろうとしていることは、次のように書くことです:

だから私はループでプレイヤーを作成できるようにしたい. しかし、「Player::Player の呼び出しに一致する関数がありません...」というエラー メッセージが表示されます。

次に、次のように変更しました。

これが私のプレーヤーの定義です:

これらの定義の違いは何かを学ぼうとしています。そして、これはオブジェクトコンストラクターにオブジェクトを渡す正しい方法ですか?

注: これらは私の実際のクラス定義ではありません。私は、C++ でのオブジェクト指向プログラミングについて、コーディングして何かを学ぼうとしています。つまり、プレイヤーで武器を初期化できることを知っています:)

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

c# - Type.InvokeMember を使用して out または ref 型のパラメーターの値を取得できないのはなぜですか?

長いタイトルですが、具体的にしたいと思います。タイトルは本当に質問です。InvokeMember呼び出しているメソッドにはoutパラメーターがあり、そのパラメーターに値を割り当てていますが、その値を取得できません。最初に使用していたコードは次のとおりです。

これを変更したため、意図したとおりに機能するようになりましたが、理由はわかりません。

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

java - cxf クライアント呼び出しに wsa 参照パラメータを追加するにはどうすればよいですか?

「標準」の ws アドレス指定ヘッダーを cxf クライアント呼び出しに単純に追加する方法を理解しています。

しかし、メッセージの SOAP ヘッダーが次のようになるように wsa 参照パラメーターを追加する方法が正確にはわかりません。

cxf クライアント呼び出し内にこのヘッダーを追加するにはどうすればよいですか?

よろしく、土壌労働者

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

c++ - 宣言されていない識別子「角度」の使用?

直角座標を極座標に変換するプログラムを作成していますが、プログラムを実行すると、宣言したはずなのに「角度」が宣言されていないと表示されます。プログラムが何も返さないことはわかっていますが、今のところ実行できるようにしたいだけです。

0 投票する
0 に答える
62 参照

c++ - 参照パラメータ アドレス 自動的に渡されない

参照パラメーターに関して次の問題があります。参照パラメーターを持つ関数がある場合、コンパイラーはその関数に、呼び出された引数のアドレスを自動的に渡します。例 (オブジェクトあり):

このクラスインスタンスの参照パラメータを持つ関数があり、

お気に入り:

型 sample の戻りオブジェクトを持つ 1 つの関数:

今、私たちがするとき:

それは完璧に機能します。tempオブジェクトを funtionWithRef の引数として指定すると、コンパイラはそのオブジェクトのアドレスを関数に渡します。しかし、最初にfunctionReturnSampleの戻り値をインスタンスに割り当てずに、そのメソッドを次のように引数として直接配置すると、なぜ機能しないのですか。

同じことをしているのに、なぜこれが違うのか、私が参考にしたいくつかの本によれば

編集

@ user657267これは完全な例です(ソースブック:C++ From Ground Up、第3版、219-320ページ):

これはコンパイルされず、次のエラーが報告されます。

したがって、言及された本からのコードのコピー/ペーストです。ご確認いただけますようお願いいたします。

ただし、オーバーロードされた = 演算子の引数をconstのように指定するかどうかはわかります。

その後、それは機能します。しかし、私を悩ませているのは、実行可能なコードを持っているときに、コピー コンストラクターが 2 回呼び出される理由がわからないことです。input()関数が返されたときに呼び出され、一時オブジェクトを作成することは知っていますが、私が知っている限り(しかしおそらく私が間違っている)コピーコンストラクターは代入操作のために呼び出されないため、2回目は理由がわかりません(同じBook 、ページ 291-292) ですが、それにもかかわらず、 return *this;のように見えます。が呼び出された場合 (オーバーロードされた演算子が値を返す場合)、コピー コンストラクターが呼び出されますか? それで、それはどうですか?ありがとう

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

c++ - 二次式 - エラー C2064: 項は 1 つの引数を取る関数として評価されません

このエラーが発生しました:

エラー 1 エラー C2064: 項は 1 つの引数を取る関数として評価されません

オンライン:

二次式プログラムのコード:

どうすればこれを修正できますか?