Войти
ФлеймФорумПрограммирование

Летопись багов (16 стр)

Страницы: 111 12 13 14 15 16
#225
17:54, 21 мая 2020

Aroch
> A* a = static_cast<A*>(this);
> B* b = static_cast<B*>(this);
Это UB при множественном наследовании


#226
18:11, 21 мая 2020

/A\
> Это UB при множественном наследовании
тут нет UB.

#227
19:54, 21 мая 2020

Aroch
> кто сходу ответит что будет выведено и почему? :)
Я сходу понял что dynamic_cast<C*>(b) вернет nullptr и даже понял что это связано с private наследованием.
Но признаться раньше я никогда с таким не сталкивался и даже не предполагал что от типа наследования может зависеть что-то вроде этого.
Удивительные крестопроблемы.

#228
19:55, 21 мая 2020

Aroch

+ Показать
#229
4:06, 22 мая 2020

Great V.
Panzerschrek[CN]
всё верно, пока искал причину минут 20 потратил. И всё оказалось из-за того что в пользовательском классе забыл дописать public при наследовании и нигде кроме динамик каста это никак не проявлялось.

#230
18:37, 22 мая 2020

Aroch
> И всё оказалось из-за того что
так вам и надо, ООП-эешники ))

Страницы: 111 12 13 14 15 16
ФлеймФорумПрограммирование