В C ++ запятая - это не просто разделитель;это также может быть оператор.Эта запятая является оператором.Оператор запятой оценивает первое выражение, отбрасывает результат, затем оценивает второе выражение и возвращает его результат.
!AddToList(obj1, (unsigned int) Val) , CATEGORY_1
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^
First expression Second expression
[Конечно, оператор запятой, как и большинство других операторов, может быть перегружен, и еслиздесь используется перегрузка, семантика может быть другой.Это поведение встроенного оператора запятой.]