C++의 다이아몬드 문제 (다중 상속)에 대한 해결책을 이해하려고합니다.C++의 다이아몬드 상속 코드가 예상대로 작동하지 않습니다.
솔루션을 더 잘 이해하기 위해이 코드를 작성했지만 예상대로 작동하지 않습니다. 오류 C2385를 :
#include <stdio.h>
class A
{
public:
void Print()
{
printf("A\n");
}
};
class B : virtual public A
{
public:
void Print()
{
printf("B\n");
}
};
class C : virtual public A
{
public:
void Print()
{
printf("C\n");
}
};
class D : public B, public C
{
};
int main()
{
D d;
d.Print();
}
는 비주얼 스튜디오 2008 익스프레스 에디션은 밖으로 고함 '인쇄'의 모호한 접근을 1> 기본 'B' 1의 '인쇄'가 될 수> 또는 '인쇄'에서 수 기본 'C' 오류 C3861 : '인쇄': 식별자를 찾을 수 없습니다.
아무도 알려지지 않은 내용을 알려주십시오.
가능하면 최신 Visual Studio 2013으로 업그레이드하십시오. – TemplateRex