Leonid |
Отправлено: 30.07.2005, 07:48 |
|
Не зарегистрирован
|
Я делаю такое объявление: MAS [256] [8], заполняю этот массив данными, т. е.
for (int i = 0; i < 255; i++)
memcpy (MAS [i], ..., sizeof (...));
Пока все нормально. Но когда пытаюсь передать в функцию один из 8-и мерных массивов, вместо получаю весь массив MAS [256].
Функция такая:
int func (char * name)
{
...
}
Что я делаю не так? |
|
olegenty |
Отправлено: 30.07.2005, 08:09 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
ты лучше покажи, как ты один из восьмимерных массивов массивов передаёшь.
|
|
Leond |
Отправлено: 30.07.2005, 08:13 |
|
Не зарегистрирован
|
Так.
func (char * name)
func (MAS [i]);
В Си это работает! |
|
olegenty |
Отправлено: 30.07.2005, 08:27 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
покажи код, где массив объявляешь,
код заполнения
код использования, где проявляется ошибка
|
|
Leonid |
Отправлено: 30.07.2005, 08:37 |
|
Не зарегистрирован
|
Ладно с массивом уже разобрался. Но у меня другой глюк.
Такая ф-ия: func (TStrings * List)
{
List->Add ("...");
}
Туды я передаю: func (Form1->Memo1->List);
И ошибка обращения к памяти. |
|
olegenty |
Отправлено: 30.07.2005, 09:06 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
Ну, во-первых, не
CODE | func (Form1->Memo1->List); |
а
CODE | func (Form1->Memo1->Lines); |
а во-вторых, ошибка кроется в многоточии в твоей функции:
CODE | {
List->Add ("...");
}
|
вот там, где у тебя многоточие, и потестируй...
|
|
Leonid |
Отправлено: 30.07.2005, 09:18 |
|
Не зарегистрирован
|
Что не так?
AnsiString st;
st = "Hello world!!!";
func (TStrings * Lines)
{
Lines->Add (st);
}
func (Form1->Memo1->Lines); |
|
Leonid |
Отправлено: 30.07.2005, 09:24 |
|
Не зарегистрирован
|
Да и вообще, когда смотрю в отладчике, то у Form1->Memo1->Lines адрес 00A7B8...., этол на входе в фунцию, а в самой ф-ии
Lines имеет адрес 04B6FFFFFF. Глюк? |
|
olegenty |
Отправлено: 30.07.2005, 09:42 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
прежде чем писать свой пост я написал именно такой пример, только вместо "Hello World" у меня было "test". всё великолепно работает...
|
|