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

R>Здравствуйте, <Аноним>, Вы писали:


А>>Я сделал как вы сказали, но не могу обратиться к элементу Grid11[0][0][0][0]

А>>дебагер говорит "2382 Side effects are not allowed"
А>>??? в чем может быть ошибка?

R>Где отображается сообщение: "2382 Side effects are not allowed"? Правильно я понимаю, что программа компилируется и запускается, но не получается увидеть значение Grid11[0][0][0][0] при прассировке программы в отлдадчике?


Здравствуйте, rg45, Вы писали:

R>Здравствуйте, <Аноним>, Вы писали:


А>>Здравствуйте, rg45, Вы писали:


А>>Я сделал как вы сказали, но не могу обратиться к элементу Grid11[0][0][0][0]

А>>дебагер говорит "2382 Side effects are not allowed"
А>>??? в чем может быть ошибка?

R>Несколько вопросов:

R>- какой компилятор?
R>- компилируется ли пример в том виде, в котором привел его я?
R>- приведи полный текст модуля(cpp-файла), при компиляции которого возникает ошибка

у меня C++ Builder 6, а какой в ней компилятор — не знаю
да компилируется,
я использую этот массив в классе, полный текст приводить не буду — очень длинно, но в краце так:


--------------------------------------------------

cens.h:

...
using namespace std;

typedef vector<int> V1;
typedef vector<V1> V2;
typedef vector<V2> V3;
typedef vector<V3> V4;

class TCENS
{
...
public:
  V4 Q2;
...
}



----------------------------------------------------

cens.cpp

int TCENS::Init()
{
 ...
 int g1 = 11;
 int g2 = 41;
 
 V4 Q2(g1, V3(g1, V2(g2, V1(g2,0)))); 
 int m = Q2[0][0][0][0];  // здесь ошибки нет, но если включить окно "watch list", то там вместо значения Q2[0][0][0][0] сообщение - "E2384 Side effects are not allowed" 
 ...
}


int TCENS::DoOneStep()
{
 ...
 Q2[i1][i2][i3][i4] += hr;   // здесь происходит ошибка при первом проходе т.е. i1=i2=i3=i4=0
 ...
}



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