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