[c++] static_cast

bigbill

 помогите разобраться с сабжем,
обьявляю 2 класса
class A
{
public:
A;
operator B const;
};
и
class B
{
public:
B;
};
затем пытаюсь сделать следующее
В b;
А a1=static_cast<B> (b);
согласно "f an implicit conversion sequence from new_type to the type of expression exists, that does not include lvalue-to-rvalue, array-to-pointer, function-to-pointer, null pointer, null member pointer, or boolean conversion, then static_cast can perform the inverse of that implicit conversion" такая запись имееь смысл. Но компилятор ругается и говорит ругается. В чем проблема?

agent007new

Ты можешь А скастовать к Б, но не наоборот. Только у тебя не implicit conversion, а user defined, поэтому то правило не применимо в данном случае

agent007new

 
A a;
B b = static_cast<B> (a);
B b2 = a;

Это работает

bigbill

merci
Оставить комментарий
Имя или ник:
Комментарий: