Здравствуйте, sergii.p, Вы писали:
SP>Здравствуйте, Maniacal, Вы писали:
M>>Эта функциональность относится к компилятору и работает на этапе компиляции. К RTTI отношения не имеет и вполне себе работает, только что проверил.
SP>я тоже проверил. У меня не работает https://ideone.com/rgpggr
A* в B* не конвертируется, естественно, это C* конвертируется в A* и в B*, что и нужно проверить
class A
{
};
class B
{
};
class C : public A
{
};
class D : public A, public B
{
};
int main()
{
if (std::is_convertible<C*, A*>::value) puts("C convertible to A"); // true
if (std::is_convertible<C*, B*>::value) puts("C convertible to B"); // false
if (std::is_convertible<D*, A*>::value) puts("D convertible to A"); // true
if (std::is_convertible<D*, B*>::value) puts("D convertible to B"); // true
return 0;
}