// Build don't link: class x { public: x (int init_buffer_size=0); ~x (); }; class xSequence { public: xSequence (); ~xSequence (); x Get(int index)const; }; class foo { public: bool bar(const x & name, x & value); }; bool foo::bar(const x & name, x & value) { bool result = false; xSequence seq; x v1, v2; if(result ? bar(seq.Get(1),v2) : bar(seq.Get(2),v2)) ; return result; }