Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2010, 13:35   #1
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию Передача указателя по цепочке (Си)

Здравствуйте. Необходимо реализовать повторную передачу параметра дальше, в другую функцию. Есть массив структур struct list **array; мне нужно его передать в одну функцию (с этим проблем нет), а затем из нее передать в следующую, в к-рой для него имеется такой же параметр (а вот тут засада).

Вот я пример наглядный написал
Код:
void change_array(struct list **a)
{
     charr2(a); //компилятор говорит conflicting types
}

void change_array2(struct list **a)
{
     a[1]->data2=25;
}
Надеюсь на вашу помощь.

P.S. Проблема видоимзменилась. Погуглил на тему этой ошибки и разобрался, нужно объявить прототип функции тогда компилируется и работает. Но возникла другая проблема, именно из-за нее я и убрал прототип в реальной программе
void myfunc(int n, struct list **a);
не хочет компилировать, я и параметры местами переставлял, и что только не делал. Если без прототипа то работает (вернее компилируется, чтобы работала нужно указатель на массив получить, а чтобы его передать нужно объявить прототип, в чем проблема). Эта функция находится в .h файле, структура в другом .h, она в области видимости иначе в основном описании была бы ошибка, я так думаю... Предупреждения нет, что я в объявлении структуру описываю, т.е. она известна на этот момент компилятору.
Компилятор MinGW под винду.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 29.05.2010 в 14:10.
mutabor вне форума Ответить с цитированием
Старый 29.05.2010, 14:28   #2
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Наименьший код выложите, который должен компилироваться( по вашему мнению ), но не делает этого.
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 29.05.2010, 14:30   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Всем спасибо, проблему с компиляцией решил. Синтаксические ошибки были, к-рые я не заметил. Теперь проблема проявилась на этапе выполнения. Но это я уже сам попробую разобраться.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 29.05.2010, 16:29   #4
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Вы передаете только указатель на массив, а в чем проблема не пойму.
Levsha100 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача указателя из Си++ в dll на delphi VladimirFF Общие вопросы C/C++ 0 22.02.2010 19:56
Передача указателя на массив в функцию loser Общие вопросы C/C++ 2 19.02.2010 19:41
Проверить действительность указателя Altera Общие вопросы Delphi 2 19.01.2010 12:41
Изменение вида указателя VistaSV30 Microsoft Office Access 1 08.01.2010 11:30
передача указателя в функцию arturka Помощь студентам 3 06.07.2008 00:25