私はそのような型キャストを行うと例外をスローする必要があります:(B*)aここで、aは基本クラスAのオブジェクトへのポインタであり、Bは派生クラスです。 class A
{
protected:
int a;
public:
operator B*()
{
throw(1);
}
};
class B: p
を定義しているが、誰かが私を理解する助けてください、なぜ次のコードはコンパイルされません: template< typename T >
class A
{};
template< typename U >
class wrapper
{
public:
// cast operator
operator wrapper< A<void> >()
私は列挙型をラップし、そのための文字列変換を提供するクラスを持っています。ここでは、テンプレートパラメータ 'fastStringConvert'を導入しました。このテンプレートパラメータは、SFINAE(ここでは、how can I use std::enable_if in a conversion operator?)を使用して変換がどのように行われたかを制御します。コードはMSVCでコンパ