Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

"Fatal: <...> Link terminated." - проблема с массивом

490
24 марта 2008 года
frid-karatel
357 / / 15.09.2007
Еле разобрался, в чем проблема, но так и не понял ее сути...

Если делать так:
 
Код:
const int MATRIX_MAXWIDTH = 48;  //Макс. ширина матрицы
const int MATRIX_MAXHEIGHT = 48;  //Макс. высота матрицы
struct tagEVALMATRIX
{
  int Width;  //Ширина матрицы
  int Height;  //Высота матрицы
  unsigned char** Matrix; //Сама матрица
};


То все ОК.

Но если изменить на вот это:
 
Код:
const int MATRIX_MAXWIDTH = 48;  //Макс. ширина матрицы
const int MATRIX_MAXHEIGHT = 48;  //Макс. высота матрицы
struct tagEVALMATRIX
{
  int Width;  //Ширина матрицы
  int Height;  //Высота матрицы
  unsigned char Matrix[MATRIX_MAXWIDTH][MATRIX_MAXHEIGHT]; //Сама матрица
};


То вылазит ошибка: [Linker Error] Fatal: Access Violation. Link terminated.

Что за глюк такой? ЧТо мне сделать, чтобы задать фиксировано матрицу?
7.3K
24 марта 2008 года
H010d Freeze
143 / / 08.08.2006
У меня код из второго примера нормально собирается и под BCB6 + Update 4 и под BCB2006 Update 2.
Наверняка проблема не с этим кодом....
490
24 марта 2008 года
frid-karatel
357 / / 15.09.2007
хз... у меня тоже BCB 6 + Update4... но все если я закоментю Matrix[X][Y] и оставлю **Matrix, то проект собирается. Если же наоборот... то ошибка...

Причем, проект собирается, т.е. все юриты компилятся нормально, но видимо при линковке возникает что-то непонятное...

И еще... я попытался в другом юните объявить unsigned char MatrixA[10][10] - все прошло и собралось ОК... Блин, глюк какой-то и все... :(
7.3K
25 марта 2008 года
H010d Freeze
143 / / 08.08.2006
Значит наведенная ошибка какая-то... Ведь чудес не бывает.
Если бросишь проект с проблемным кодом, могу посмотреть.
11
25 марта 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: frid-karatel
хз... у меня тоже BCB 6 + Update4... но все если я закоментю Matrix[X][Y] и оставлю **Matrix, то проект собирается. Если же наоборот... то ошибка...

Причем, проект собирается, т.е. все юриты компилятся нормально, но видимо при линковке возникает что-то непонятное...

И еще... я попытался в другом юните объявить unsigned char MatrixA[10][10] - все прошло и собралось ОК... Блин, глюк какой-то и все... :(



пересобери проект...
т.е. создай новый чистый проект, поудаляй от туда все что ИДЕ нагенерит, а потом просто добавь свои модули в него и сохрани под старым именем (затерев старый *.bpr)
ЗЫ: мне такое часто помогает

490
25 марта 2008 года
frid-karatel
357 / / 15.09.2007
Капец... в-общем, создал я новый юнит и туда перекинул весь код... Не работает...

Тогда я содал новый проект и по новой создал все юниты и перекинул только функции.... не работает...

Глюк - и все...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог