есть класс, в котором определен оператор +=
Код
class CL_StringLib
{
///.....
CL_StringLib & operator += (const uint8_t * addpoint )
{
//....
return *this;
}
}
{
///.....
CL_StringLib & operator += (const uint8_t * addpoint )
{
//....
return *this;
}
}
далее в коде встречается использование этого оператора:
Код
....
Trip +=
( (SPEED_UNITS)" Km":" M");
Trip += "mm";
....
Trip +=
( (SPEED_UNITS)" Km":" M");
Trip += "mm";
....
и в первой строчке выдает ошибку
Код
Error[Pe349]: no operator "+=" matches these operands C:\.....
operand types are: string_lib::CL_StringLib += char const *
operand types are: string_lib::CL_StringLib += char const *
во второй
Код
Error[Pe349]: no operator "+=" matches these operands C:\....
operand types are: string_lib::CL_StringLib += char const [3]
operand types are: string_lib::CL_StringLib += char const [3]
непонятно как так он не находит этого оператора и почему он пытается копировать массив в ф-цию оператора?!
можно конечно отделаться сделав так:
Код
....
Trip += (const uint8_t *)
( (SPEED_UNITS)" Km":" M");
....
Trip += (const uint8_t *)
( (SPEED_UNITS)" Km":" M");
....
но хочется что бы было кошерно.
будут какие-нибудь соображения как сделать лучше?