オブジェクトの暗黙の変換の戻り値の型を取得するにはどうすればよいですか?暗黙の変換のタイプを取得
struct Bar {
operator int() const {
return 0;
}
};
// std::result_of<Bar>::type value; ???
// std::result_of<Bar::operator ??? >::type value;
私が使用できます。
std::is_convertible<Bar, int>::value
が、フロートについても同様is_convertibleである、などのunsigned int型を....私は正確な型を持っていると思います。
編集:私の質問が不明確なように思えるので、暗黙の変換タイプを知りたいのはなぜですか。テンプレートクラスをさらに進めてください。だから私はバーをまったく知りません...
私はフロートを取得したいと思います。バーint。
私はクラスに対して1つ以上の暗黙的な変換を定義することができるので、扱いにくくなります。
struct FooBar {
operator float() const {
return 0;
}
operator int() const {
return 0;
}
};
したがって、すべてのすべてで、クラスの右の暗黙の会話の種類を取得することはできませんか?
decltype()と自動? –
*** decltype ***はバー、***は自動f =バー、***はバーです。 –
Viatorus
バーb; decltype((int)b)x =(int)b; –