Я новичок в расширении общих массивов.
Существует код, объявляющий два массива:
boost::shared_array<unsigned char> src;
boost::shared_array<unsigned char> dest;
Все, что я хочу сделать, это поменять то, на что указывает каждый массив (src становится dest, а dest становится src). Насколько я понимаю, метод shared_array.get () возвращает указатель на один из его элементов (может быть любого типа).
Итак, мое добавленное объявление:
boost::shared_array<unsigned char> temp;
И мой добавленный код:
temp.get() = src.get();
src.get() = dest.get();
dest.get() = temp.get();
Каждая из этих строк терпит неудачу; ошибка компиляции C2016: '=': левый операнд должен иметь значение l.
Я новичок в C ++, поэтому я погуглил ошибку и увидел, что это сообщение об ошибке означает, что левый операнд не может быть назначен. Все же в левой части находятся все указатели, и указатели могут быть назначены другим указателям.
Так что я не уверен, что делаю неправильно. Может кто-нибудь помочь мне?
Заранее спасибо.
JBU