問題タブ [implicit-conversion]

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

c++ - この場合、友人のオーバーロードされた演算子が変換演算子よりも好まれる理由

こんにちは、このようなコードがあります。友人のオーバーロードされた演算子と変換演算子の両方に同様の機能があると思います。しかし、なぜこの場合にフレンドのオーバーロードされた演算子が呼び出されるのでしょうか? ルールは何ですか?

本当にありがとう!

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

c++ - C++、暗黙の変換/コンストラクターはどのように決定されますか?

C ++は、オブジェクトの数レベルの深さの暗黙的な変換/構築をどのように決定しますか? 例えば:

可能なすべての変換のツリーを作成し、適切な端末を選択しますか? 他の何か?ありがとう

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

c++ - C ++で整数計算をfloatに暗黙的にキャストする

整数計算を暗黙的に float にキャストするディレクティブまたはパラメーターを持つコンパイラーはありますか。例えば:

計算の定数(1、3、10)は整数であるため、「f」は「0」です。整数演算をコンパイラ指令やパラメータで変換したい。つまり、そのような明示的なキャストや ".f" プレフィックスは使用しません。

また

明示的なキャストや「.f」を使用せずにこのプロセスを実行するためのパラメーターを持つ c/c++ コンパイラを知っていますか?

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

c - 暗黙的および明示的なキャストを使用するにはどうすればよいですか?

重複の可能性:
暗黙的キャストと明示的キャストを特定する

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

c# - BがAにタイプキャストできる場合、AをクラスAのオブジェクトにキャストするにはどうすればよいですか?

基本的にこれをやりたいです。aaは不正なキャスト例外を引き起こします。
注:oは何でもかまいません。Bではなく、C、D、E、Fなどである可能性があります。ただし、oがAに型キャストできるクラスである限り、これは機能するはずです(Bはそのようなクラスです。暗黙の演算子オーバーロードを使用します)

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

c# - C# でのこの暗黙的な型変換が失敗するのはなぜですか?

バックグラウンド:

次のクラスがあるとします。

ご覧のとおり、T→の暗黙的な型変換演算子を提供しますWrapped<T>。最終的には、このクラスを次のように使用できるようにしたいと考えています。

問題:

ただし、上記のusing句の型変換は失敗します。new X()を に直接割り当てることはできますがwrappedIX、型を割り当てることはできませんIX。コンパイラは次のエラーで文句を言います:

コンパイラ エラー CS0266: 型 'IX' を 'Wrapped<IX>' に暗黙的に変換することはできません。明示的な反転が存在します (キャストがありませんか?)

私はこれを理解していません。ここで何が問題なのですか?

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

c# - C# での暗黙的な演算子のオーバーロードに関する質問

このコードを機能させる方法はありますか? 暗黙的な演算子のオーバーロードにより、反対のことが機能することを知っています。

ありがとう

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

c# - C#でのキャスト/変換 int/double の説明

CASE2 のようないくつかの計算をコーディングしました (実際に行ったことの非常に単純化された例を以下にコピーしました)、悪い結果が得られました。CASE1 のようにコードをリファクタリングし、正常に動作しました。CASE 2 に暗黙のキャストがあることは知っていますが、完全な理由はわかりません。以下で正確に何が起こっているのか、誰でも説明できますか?

私の推測では、CASE2 の /2 は (5 + 6) を int にキャストし、除算を 5 に丸めてから、再度 double にキャストして 5.0 に変換しています。

CASE3 と CASE 4 も問題を修正します。

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

scala - Option が Iterable トレイトを直接拡張しないのはなぜですか?

Option暗黙的に - に変換可能ですが、直接Iterable実装するだけではないのはなぜですか:Iterable

編集: 実際には、2.8ではメソッドOptionを宣言するiteratorため、それよりもさらに複雑です:

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

vb.net - VB.NET での暗黙のキャスト

この質問は、怠惰な VB プログラマーを対象としています。お願いします。

vb で実行でき、エラーは発生しません。

例 1

例 2

例 3

例 4

予想されるランタイム タイプが確実にわかっている場合、vb 言語の組み込みキャストに依存することは「禁止」されていますか? いつ頼れる?