radium
دوشنبه 20 خرداد 1387, 23:52 عصر
فرض کنید کلاس پایه A نام دارد. کلاسهای B و C از A مشتق شده اند. حالا کلاس D را از کلاسهای B و C مشتق میکنیم. سوال اینجاست که کلاس B و C به راحتی به نوع A تبدیل میشوند. ولی در قسمتی که باید تبدیل D به A صورت گیرد(در کد زیر بخش مربوط به case 4 ) این پیام خطا صادر میشود:
error C2594: 'argument' : ambiguous conversions from 'class D' to 'class A &'
برای رفع این مشکل باید چکار کرد؟ متشکرم.
switch( f )
{
case 1 :
SetA(i, *new A() );
break;
case 2 :
SetA(i, *new B() );
break;
case 3 :
SetA(i, *new C() );
break;
case 4 :
SetA(i, *new D() );
break;
}
error C2594: 'argument' : ambiguous conversions from 'class D' to 'class A &'
برای رفع این مشکل باید چکار کرد؟ متشکرم.
switch( f )
{
case 1 :
SetA(i, *new A() );
break;
case 2 :
SetA(i, *new B() );
break;
case 3 :
SetA(i, *new C() );
break;
case 4 :
SetA(i, *new D() );
break;
}