내가 유형에 주입하고 암시 적으로 하위 유형에 전달하는 내가 좋아하는 것이 외에도, 템플릿 형태로 사용 찾고 있어요더 세부
을 추가 C++ (11) 템플릿 하위 유형 익숙한.
구현 :
MyClass<MyTestClass> myClass;
const auto& testDataReturn = myClass.m_typeObject.m_field1;
// looking to be able to call myClass.m_subTypeObject here which is implicitly typed from the parent type (see template def below)
템플릿 :
template<class T>
class MyClass
{
public:
T m_typeObject;
typename T::SubType m_subTypeObject; // **does not like this**
};
typedef MyType SubType;
클래스 정의 :
class SubTypeImpl
{
public:
std::string m_field1 = "test1Sub";
std::string m_field2 = "test2Sub";
};
class MyTestClass
{
public:
std::string m_field1 = "test1";
SubTypeImpl SubType;
};
[mcve]와 (과) 비슷한 문맥을 제공해주세요. 나는 내가 당신이 묻고 있다고 이해하는 것을보고 보았지만 확실하지 않습니다. 오류를 유발하는 행을 (주석 구.을 사용하여) 비활성화하여 mcve를 컴 파일 가능하게 할 수 있습니다. 그런 다음 다른 사람들이 컴파일 가능한 버전과 컴파일 할 수없는 버전으로 재생하기가 쉽습니다. 산문이나 의견을 의사 코드와 함께 사용하면 도움이 될 수 있습니다. – Yunnosch
MyClass에 대한 정의가 최소한 컴파일되고 합리적인 것으로 보입니다. 그러나 나는 당신이 실제로 성취하려는 것을 모른다. – rincewind