any idea what these compile errors mean?

Language.cpp: In member function ‘void Language::insertLanguage(std::string, Document)’:
Language.cpp:80: error: no match for ‘operator=’ in ‘*((*((Language*)this)->Language::all_tv) + ((TrigramVector*)(((long unsigned int)(*((Language*)this)->Language::quantity)) * 78736ul))) = (((TrigramVector*)operator new(78736u)), (<anonymous>->TrigramVector::TrigramVector(doc), <anonymous>))’
TrigramVector.h:12: note: candidates are: TrigramVector& TrigramVector::operator=(const TrigramVector&)
Language.cpp:93: warning: suggest parentheses around assignment used as truth value
Language.cpp:107: error: no match for ‘operator=’ in ‘*((*(((Language*)this)->Language::all_tv + ((TrigramVector**)(((long unsigned int)i) * 8ul)))) + ((TrigramVector*)(((long unsigned int)(*(((Language*)this)->Language::quantity + ((int*)(((long unsigned int)i) * 4ul))))) * 78736ul))) = (((TrigramVector*)operator new(78736u)), (<anonymous>->TrigramVector::TrigramVector(doc), <anonymous>))’
TrigramVector.h:12: note: candidates are: TrigramVector& TrigramVector::operator=(const TrigramVector&)
Language.cpp: In member function ‘double Language::numerator(TrigramVector, TrigramVector)’:
Language.cpp:128: error: invalid use of member (did you forget the ‘&’ ?)
Language.cpp:128: error: invalid use of member (did you forget the ‘&’ ?)
Language.cpp: In member function ‘double Language::root_unknown(TrigramVector)’:
Language.cpp:135: error: invalid use of member (did you forget the ‘&’ ?)
Language.cpp:135: error: in evaluation of ‘operator+=(double, <unresolved overloaded function type>)’
Language.cpp: In member function ‘double Language::root_known(TrigramVector)’:
Language.cpp:142: error: invalid use of member (did you forget the ‘&’ ?)
Language.cpp:142: error: in evaluation of ‘operator+=(double, <unresolved overloaded function type>)’
From a quick glance, it looks like you need to overload some operators.
what does it mean to overload operators?
these compile errors mostly involve this section of code:
TrigramVector is another class and the function standardized_frequency is in that class.
double Language::numerator(TrigramVector T1, TrigramVector T2 )
{
double sum = 0.00;
sum += (T1.standardized_frequency() * T2.standardized_frequency());
return sum;
}

double Language::root_unknown(TrigramVector T1)
{
double sum = 0.00;
sum += T1.standardized_frequency();
return sum;
}

double Language::root_known(TrigramVector T2)
{
double sum = 0.00;
sum += T2.standardized_frequency();
return sum;
}

//compares the Trigram Vectors of two languages to return a score
double Language::languageScore(TrigramVector T1, TrigramVector T2)
{
double language_score = 0.00;
double numerator = numerator(T1, T2);
double first_denominator = sqrt(root_unknown(T1));
double second_denominator = sqrt(root_known(T2));

language_score = (numerator)/ (first_denominator * second_denominator);

return language_score;

}
Topic archived. No new replies allowed.