Проблема условного оператора

Getopt является единственным способом пойти.

http://sourceforge.net/projects/csharpoptparse

8
задан Ether 30 January 2010 в 18:49
поделиться

3 ответа

Передать на D и в обеих ветвях:

D& d = (rand() %2 == 0 ? static_cast<D&>(c.getD1()) : static_cast<D&>(c.getD2()));
14
ответ дан 5 December 2019 в 10:42
поделиться

Кстати, вам действительно не нужно использовать условный оператор,

D* dptr; if(rand() %2 == 0) dptr = &c.getD1(); else dptr = &c.getD2();
D& d = *dptr;

тоже подойдет.

2
ответ дан 5 December 2019 в 10:42
поделиться

Или вы можете изменить возвращаемые типы функций на базовый класс.

0
ответ дан 5 December 2019 в 10:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: