Название: Решено: массив указателей на функции Отправлено: VozaMFC от Январь 16, 2012, 14:50 ОООчень хочеться такой массив.
Вроде бы и связал функции в массиве, а вызвать не могу: .cpp:14: error: must use '.*' or '->*' to call pointer-to-member function in 'func2 (...)', e.g. '(... ->* func2) (...)' Создал мап членом класса Код: QMap<int, void (MainWindow::*)(int)>arrFunc; // на фукции которые принимают в параметр инт, например Код: void MainWindow::testInt(int a) { a = 12; } Код: void (MainWindow::*funcInt)(int) = &MainWindow::testInt; // получаю как бы вроде указатель на фунцию Название: Re: массив указателей на функции Отправлено: mutineer от Январь 16, 2012, 14:52 Для вызова функции-члена через указатель на функцию нужен объект соответствующего класса
Либо сделай функцию статичной Название: Re: массив указателей на функции Отправлено: kambala от Январь 16, 2012, 14:55 вызывать методы надо через (this->*funcInt)(12). и такие сложные типы лучше объявлять через typedef:
Код
Название: Re: массив указателей на функции Отправлено: VozaMFC от Январь 16, 2012, 15:51 Спасибо народ!
Уже начал было думать что без соответствующего класса или глобальных функций ну никак. kambala большой тебе респект за предложенное решение и совет, все получилось! Если честно, я в восторге :-)))))) Название: Re: массив указателей на функции Отправлено: mutineer от Январь 16, 2012, 15:55 Какбе совет камбалы тоже с "соответствующим классом"
Название: Re: массив указателей на функции Отправлено: kambala от Январь 16, 2012, 16:33 Спасибо народ! вообще говоря, прежде, чем лезть на форум с подобными вопросами, надо открыть книжку по плюсам или немного поспрашивать гуглУже начал было думать что без соответствующего класса или глобальных функций ну никак. kambala большой тебе респект за предложенное решение и совет, все получилось! Если честно, я в восторге :-)))))) Название: Re: массив указателей на функции Отправлено: VozaMFC от Январь 23, 2012, 12:52 Какбе совет камбалы тоже с "соответствующим классом" Это получается выносить реализацию в отдельный класс и хранить указатели на функции данного класса...Это немного мне не подходит. Название: Re: массив указателей на функции Отправлено: mutineer от Январь 23, 2012, 12:58 Какбе совет камбалы тоже с "соответствующим классом" Это получается выносить реализацию в отдельный класс и хранить указатели на функции данного класса...Это немного мне не подходит. Твои методы - это члены класса MainWindow. Значит для их вызова нужен экземпляр класса MainWindow. Так как вызываешь ты эти методы в других методах MainWindow, то this как раз подходит на роль этого экземпляра |