Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MickeyBlueEyes
Студент
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
#1

Указатель на ф-цию в структуре - C++

08.06.2013, 16:31. Просмотров 231. Ответов 3
Метки нет (Все метки)

Привет всем, почему если объявить структуру в виде указателя и присвоить указателю на ф-цию функцию, то будет ошибка, а если объявить структуру не как указатель, то работает всё нормально.
Пишу так:
C++
1
2
3
4
5
6
7
8
9
struct Route{
  void (*start)(char *);
} * route;
 
int main(){
   route -> start = test; //Ошибка сегментирование при запуске программы
   route.start = test; //Работает нормально
return 0;
}
Есть какое нибудь решения задачи? если объявлять указатель сразу после инициализции структуры?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2013, 16:31     Указатель на ф-цию в структуре
Посмотрите здесь:

Map и указатель на ф-цию - C++
Вечер добрый, перешел на вижуал студио с МС компилером, после мингы, не могу понять почему данный код на мингве успешно выполняется, а...

Указатель на ф-цию член класса - C++
Чёрная магия или я бот? g++ sub.cpp:21: error: expected unqualified-id before ‘*’ token sub.cpp:21: error: must use ‘.*’ or...

Указатель в структуре - C++
Как можно работать дальше с Abool как с массивом, обращаясь к нему как к члену структуры, т. е. D.Abool? Когда программа доходит до этого...

Указатель на функцию в структуре - C++
Есть класс: class Foo { struct Request { void ( Foo :: *operation )( Object* ); Object* object; }; std ::...

Как создать указатель в структуре? - C++
Я хочу ввести имя, но под name надо выделить память? Если да то как и где(где менно прописывать выделение памяти)? #include<iostream> ...

Как описать в структуре строку не через указатель - C++
Есть структура struct InfoBuf { size_t Len; char Data; / ??? static InfoBufType* Create(size_t Size, char* Val){ InfoBufType*...

Описать математическую ф-цию - C++
Добрый вечер, дорогие форумчане! Есть математическая ф-ция, которая ведет себя так, как указано на картинке Ничего не приходит в...

Разработать ф-цию типа float - C++
Разработать ф-цию типа float которая возвращает частное деление первого параметра на третий,если второй параметр отрицательный,иначе...

Вопрос по программе. Нужно протабулировать ф-цию - C++
Приветствую вас дамы и господа Тут такое дело... Задание: Код: # include <iostream.h> # include <conio.h> # include...

Как правильно вызвать пользовательскую ф-цию - C++
Выдает ошибку, связанную с передачей массива, как аргумента ф-ции. #include <cstdlib> #include <iostream> #include <cmath> using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
08.06.2013, 16:40     Указатель на ф-цию в структуре #2
Указатель указывает куда-то. Как думаете, куда он будет указывать, если он глобальный и не инициализированный? Правильный ответ под спойлером: [никуда, в NULL]. Вот так:
C++
1
2
3
struct Route {
    //...
} *route;
вы объявляете именно такой указатель.
Убежденный
Системный программист
Эксперт С++
15247 / 6879 / 1092
Регистрация: 02.05.2013
Сообщений: 11,255
Завершенные тесты: 1
08.06.2013, 16:40     Указатель на ф-цию в структуре #3
C++
1
2
3
struct Route{
 void (*start)(char *);
} route;
Объявление структуры Route и создание ее экземпляра route.
Выражение "route.start = test" корректно, т.к. переменная route проинициализирована.

C++
1
2
3
struct Route{
 void (*start)(char *);
} * route;
Почти то же самое, только теперь route - это указатель. Неинициализированный.
Попытка выполнить выражение "route->start = test" приведет к разыменованию
неинициализированного указателя.
MickeyBlueEyes
Студент
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
08.06.2013, 16:42  [ТС]     Указатель на ф-цию в структуре #4
Спасибо большое, я думал что сразу же он и будет мне указывать на структуру мою ))
Yandex
Объявления
08.06.2013, 16:42     Указатель на ф-цию в структуре
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru