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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2010, 11:38   #1
coper
Пользователь
 
Регистрация: 16.11.2009
Сообщений: 28
По умолчанию как объявить тип "указатель на функцию"

Есть шаблон класса матрицы MATR. Мне нужно сделать так, чтобы элементами матрицы были указатели на функцию double (*func)(double,double).
получилось объявить так
PHP код:
typedef double (*func)(doubledouble);
MATR<funcM(m,n); 
Но хотелось бы сделать тоже самое без typedef. Не могу понять, что нужно написать в типе шаблона
coper вне форума Ответить с цитированием
Старый 12.09.2010, 18:23   #2
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Ння.

Код:
#include <iostream>
using namespace std;

template<class T>
T MATR(T (*func)(T, T) ) {
    return (*func)(1.0, 2.0);
}

double ffunk(double a, double b) {
    return ( a + b );
}

int main() {
cout << MATR(ffunk) <<endl;

    return 0;
}
the_deer_one вне форума Ответить с цитированием
Старый 12.09.2010, 22:37   #3
coper
Пользователь
 
Регистрация: 16.11.2009
Сообщений: 28
По умолчанию

Ни строчки не понял. И кажется вы меня тоже.
Вот я объявляю матрицу 2x2 с элементами типа double;
Код:
MATR<double> M(2,2);
Теперь я хочу объявить такую же матрицу но с элементами типа
double(*func)(double,double).
мне нужно узнать, что написать в треугольных скобках, т.е примерно както
Код:
MATR<double (*func)(double, double)> M(2,2);
но на такой тип он ругается.
coper вне форума Ответить с цитированием
Старый 12.09.2010, 23:20   #4
pproger
C++ hater
Старожил
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Код:
MATR<double (*)(double, double)> M(2,2);
.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
Можно ли как-нибудь загнать текст "x+3" в функцию? TwiX Общие вопросы Delphi 13 02.11.2009 18:49
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
настроить при открытии Excel 2003 в окошке "Тип файлов" вывод пункта "Все файлы (*.*)" по умолчанию? Unior Microsoft Office Excel 2 01.03.2009 02:42