問題タブ [explicit-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 投票する
1 に答える
36 参照

c++ - コンパイラは、条件として使用される式に明示的な変換を適用できませんでした

これが私のコードです:

C ++のプライマー(5番目)では、次のように書かれています:

コンパイラは、条件として使用される式に明示的な変換を適用します

しかし、この場合、そのような変換はありません。を削除するexplicitと、コードは正常に機能します。

ただし、に変更
explicit operator int(){ return i; }すると
explicit operator bool(){ return i != 0; }

それぞれに変更if(s == 4)するif(s)と、コードは正常に機能します。

変換規則は少し混乱しているように見えますが、これについて詳しく説明できる人はいますか?

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

c++ - これが変換コンストラクターへの暗黙のキャストを行わないのはなぜですか?

だから私はこのコードを持っています:

Foo foo = Bar(13)暗黙のキャストを使用してから、変換コンストラクターを使用したと思っていたでしょう。しかし、それはエラーです:

エラー: からBar非スカラー型への変換がFoo要求されました

ただし、これは正常に機能しますFoo foo(Bar(13))。暗黙のキャストが明示的な変換の構築に使用されるのに、暗黙の変換の構築には使用されないのはなぜですか?

https://en.cppreference.com/w/cpp/language/copy_initializationから得たルールは次のとおりです。

変換コンストラクターが使用された場合は prvalue 式である変換の結果は、オブジェクトを直接初期化するために使用されます。

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

c# - GenericType の辞書を TypeCast する方法

次のような辞書オブジェクトがあります:-

今、私はこれをタイプキャストしたい:-

そうする方法はありますか?