Есть некторый класс A, для которого перегужен оператор запятая, для базовых типов как оператор класса, для некоторых классов как внешний:
class A{
...
A& operator , ( int v ){ ...; return *this; }
};
template <class T> A& operator, ( A& a, const B<T> & b ){ ...; return a; }
A(...), expr1, expr2, ... ;
Если результат первого выражения в цепочке относится к базовым типам, все работает. Если результат первого выражения относится к B<...> то рабтает встроенная реализация (т.е. перегруженный оператор не вызвается). Как бы заставить его рабоать и во втором случае?