
#define TEST_SUBS

class A
{
public:
#ifdef TEST_SUBS
    int operator [](int index) const;
#else /* ? 0 */
    int subs(int index) const;
#endif /* 0 */
};

class B
{
public:
#ifdef TEST_SUBS
    int operator [](int index) const;
#else /* ? 0 */
    int subs(int index) const;
#endif /* 0 */
};

class C
  : public A
  , public B
{
public:

#ifdef TEST_SUBS
    using A::operator [];
#else /* ? 0 */
    using A::subs;
#endif /* 0 */
};

