Во-первых, operator=
может быть реализовано только как функция-член, а не как свободная функция. Так что ваш подход просто неверен. Во-вторых, перегруженный operator=
может принимать только один параметр. Ближайшая вещь, которую вы хотите, может быть достигнута, передав initializer_list
в качестве этого параметра:
Fraction& operator=(std::initializer_list<int> il){
// some code validating size of il here
this->m_numerator=*il.begin();
this->m_denominator = *(il.begin()+1);
return *this;
}
использование выглядит так:
f2[0]={3,5};
f2[1]={67,84};
Полная демонстрация