char* aBuffer - объявден protected где-то там, он инициализирован, там всё нормально, данные в нём есть, память выделена.
То есть, я могу написать так
Код:
..
MYCLASS_STR BRED;
BRED="bred";
..
а потом если делать
Код:
printf ("Write some bred = %s\n", BRED);
получим необработанное исключение Нарушение прав доступа при чтении.
Не, я понимаю, что принтф - небезопасен, как минимум...
но в этом-то случае что конкретно ему не нравится?
Он пытается вывести сам код перегруженного оператора, не воспринимая, что нужен результат, а тупо пытаясь распарсить и напечатать сам оператор?
P.S. Если завести переменную а и віполнить ей
char* a=BRED
- всё выводится.
надо смотреть тип protected переменной aBuffer, возможно она обьявлена как std::vector<char> или std::string.
Поэтому просто С-преобразование к char* будет неправильно, так как aBuffer один тип указателя преобразовывается к другому, что не верно, соотв. будет исключение.
Что надо делать : получить буфер данных сложного типа, а потом уже указатель буфера преобразовывать к char*
Если это std::vector, то &aBuffer[0], если std::string - aBuffer.c_str()