Вы можете использовать это просто
$this->db->where("status","live")->or_where("status","dead");
вы также можете использовать
$this->db->where("(status='live' OR status='dead')");
Вы не можете этого сделать, это дыра в языке C ++. Вам нужно будет отключить по крайней мере один из вложенных классов.
Я бы не назвал это ответом, но тем не менее интересной находкой: Если вы повторите объявление своей структуры в пространстве имен с именем C, все в порядке (по крайней мере, в gcc). Когда определение класса C найдено, оно, кажется, незаметно перезаписывает пространство имен C.
namespace C {
typedef struct {} D;
}
class A
{
public:
typedef struct/class {...} B;
...
C::D *someField;
}
class C
{
public:
typedef struct/class {...} D;
...
A::B *someField;
}