Re[5]: Динамические массивы, освобождение памяти
От: rg45 СССР  
Дата: 17.02.08 12:45
Оценка: +1
Здравствуйте, piero_, Вы писали:

_>у меня C++ Builder 6, а какой в ней компилятор — не знаю

Ну значит, компилятор — C++ Builder 6

_>да компилируется,

_>я использую этот массив в классе, полный текст приводить не буду — очень длинно, но в краце так:
_>
_>//...
_> int m = Q2[0][0][0][0];  // здесь ошибки нет, но если включить окно "watch list", то там вместо значения Q2[0][0][0][0] сообщение - "E2384 Side effects are not allowed" 
_>//...
_>


Выходит, что среда C++ Builder'a не умеет вычислять значения функций. Ведь, на самом деле, в приведенном примере операция индексирования сводится к вызову перегруженного оператора operator[], который по сути является функцией-членом шаблонного класса std::vector. Что делать в этой ситуации? Зависит от того, на сколько критичным для тебя является это неудобство.
Возможные варианты действий:
— Забить на это;
— Заглянуть в отладчике внутрь объекта Q2 — внутри находятся самые обычные указатели, которые отладчик билдера, наверняка, умеет отображать;
— Выводить все интересующие значения на экран, в файл и т.д.;
— Сменить компилятор и среду разработки. Например, на Microsoft Visual Studio.

_>извините что без тэгов, что-то я не понял как выделять текст нужным цветом

Просто ты немного ошибся с выбором тэга форматирования: ты использовал code, а нужно было ccode.
... << RSDN@Home 1.2.0 alpha rev. 787>>
--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.