Перегрузка оператора =

156
07 декабря 2017, 00:46
 Accumulator & Accumulator::operator=(const char* right){
    material = right;
    return *this;
} 

В общем есть такой код перегрузки оператора в классе нужно что бы оператор при присваивании менял значение поля материал. Код вроде верно написал но пишет ошибку мол не понимаю я как это делать при вот таком коде:

Accumulator *kek = new Accumulator(true,12.1,11.1, 5000, "Li-On");
kek = "Ba-On";

Текст ошибки: (среда VS professional 2017)

Может я что то не дописал что бы компилятор заметил этот код? Подскажите пожалуйста.

Answer 1

Вы хотите вызвать оператор присваивания для указателя, а не для объекта.

Попробуйте

*kek = "Ba-On";

Но мне не нравится сам ваш принцип - хранить указатель на строку... А если вы передадите адрес какого-то массива, а он потом будет перезаписан?

READ ALSO
LU разложение неквадратной матрицы

LU разложение неквадратной матрицы

На википедии LU разложение определено как разложение всякой матрицы в произведение двух квадратных матрицНо как тогда сделать LU разложение...

177
Считать и вывести вектор векторов

Считать и вывести вектор векторов

Считывает ввод, но не выводит вектор

212
Smack XMPP как узнать о существовании jabber-аккаунта?

Smack XMPP как узнать о существовании jabber-аккаунта?

Доброго времени суток! Мне нужно сделать валидацию jabber-аккаунта вида user@serverru Была мысль просто посылать на тестируемый аккаунт сообщение,...

150
Фон в LinearLayout UI android

Фон в LinearLayout UI android

Есть скажем простой LinearLayoutМне нужно программно вывести загруженный объект Bitmap как фон этого LinearLayout

150