タイプのオブジェクトを受け入れるコンストラクターがありますMaterial
:
SomeClass::SomeClass( const Material& mat ) ;
ただし、次のようにMaterial
構築できますVector
。
Material::Material( const Vector& v ) ;
したがって、SomeClass
a による構築を許可できますVector
。
SomeClass m( vec ) ; // valid, since vec is constructed to a Material first,
// then is passed to the SomeClass(Material) ctor
ただし、このタイプのctorを使用して (同じプロジェクト内の異なるクラスで)何度も「自分の足を撃った」後は、 byオブジェクトを直接構築することを禁止し、代わりに常に aを渡す必要があります。SomeClass
Vector
Material
これを行う方法はありますか?どういうわけかそれはexplicit
キーワードに関係していると思います。