Уважаемые эксперты! мне надо, чтобы можно было вызывать ту или иную функцию в зависимости от значения переменной. То есть, к примеру, если значение переменной==1, то вызываем функцию А, если ==2, то вызываем В. я думал, это можно сделать, настраивая указатель на нужную функцию, а потом вызывать то, на что этот указатель ссылается - но выдается "E2062 Invalid indirection". делал так: int A(int a, int b) { ; } int main(int argc, char* argv[]) { int (*pfHash[2])(int, int); pfHash[1]=A; *pfHash[1](1,2); return 0; } подскажите, где я не прав. спасибо
Ответ отправлен: 29.12.2002, 17:12 Отправитель: Yuri Gordienko Отвечает barsik_
Приветствую Вас, вова! Poprobuy tak. U mena rabotaet. Ne razimenovuy ukazatel.
Приложение: Ответ отправлен: 29.12.2002, 16:48 Отправитель: barsik_ Отвечает Ramzes
Добрый день, вова! Твоя ошибка здесъ *pfHash[1](1, 2); должно бытъ просто pfHash[1](1, 2) Ответ отправлен: 30.12.2002, 10:39 Отправитель: Ramzes Отвечает Avl2k
Приветствую Вас, вова! Достаточно поставить скобки: int A(int a, int b) { return 0; } int B(int a, int b) { return 1; } int main(int argc, char* argv[]) { int (*pfHash[2])(int, int) = { A, B }; (*pfHash[0])(1,2); return 0; } С уважением, Avl2k. Ответ отправлен: 30.12.2002, 12:17 Отправитель: Avl2k Отвечает Dzik
Приветствую Вас, вова! Надо писать не *pfHash[1](1,2);, а (*pfHash[1])(1,2);
Ответ отправлен: 29.12.2002, 15:04 Отправитель: Dzik Отвечает vitya
Доброе время суток, вова! не надо звездочку писать, просто пиши pHashFunc[1](1, 2); Ответ отправлен: 30.12.2002, 08:32 Отправитель: vitya
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.