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

Указатели на функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить арксинус угла в градусах http://www.cyberforum.ru/cpp-beginners/thread995865.html
x = asin(sin(y * (pi / 180))) * (180 / pi); Краткое описание: х - искомый результат (арксинус в градусах), у - угол в градусах. В качестве параметра функции asin нужно передать синус угла в радианах, который вычисляется функцией sin, параметром которой является угол в радианах (поэтому мы переводим градусы в радианы). Т.к. asin возвращает значение в радианах, то переводим в градусы. ...
C++ GCC returning reference to temporary Например вот так: int func2() { int input; cin >> input; return input; } int&& func1() { http://www.cyberforum.ru/cpp-beginners/thread995859.html
Не компилируется. Объясните смысл ошибки // opencv C++
Поставил opencv на mac. Компилю простую вещь и мне выдает такое: Undefinded symbols for architecture x86_64: "cv::imread( .... )" Насколько я понимаю, он не знает эту функцию imread(..) Тобиш, я неправильно поставил opencv? Или дело вообще в другом?
C++ Очередь с приоритетом
Помогите, пожалуйста, создать из моего класса очередь с приоритетом(приоритетом является money). #include <iostream> #include <string.h> #include <queue> // class Client{ char* name; int money; //
C++ цифры после запятой http://www.cyberforum.ru/cpp-beginners/thread995847.html
Нужно из float'ского типа достать значения после запятой. к примеру имеем число 3.13 нужно получить в итоге int'овское 13. учитывая: целая часть всегда равна 3. гарантировано то, что всегда есть дробная часть(или десятые или сотые).
C++ copy_if Пусть у меня есть двумерный массив векторов, а также вектор, содержащий индексы тех строк массива, которые надо скопировать. Можно ли это оформить через copy_if? как правильно составить условие копирования? подробнее

Показать сообщение отдельно
Genn55
342 / 189 / 37
Регистрация: 26.12.2012
Сообщений: 661
03.11.2013, 01:19  [ТС]     Указатели на функции
Да она не вылетает,но и не работает.Вот мой первоначальный вариант упрощенный.Все работает правильно.Это упрощенный код,а в самом коде много проверок и противоречивых с указателями работает,но при попытке собрать все проверки в одну функцию не получается.Как только инициализирую указатели программа вылетает.Если это не возможно тогда буду пробовать перегружать,но код получится гораздо больше.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <stdlib.h>
#include <Windows.h>
 
using namespace std;
 
bool Funk_1 (int);
void Funk_1_1 ();
bool Funk_2 (int);
void Funk_2_2 ();
int oshibka (int,bool (*com_1)(int),void(*otv_1)(),bool (*com_2)(int),void(*otv_2)()=0);
 
int main()
{
    system("chcp 1251 > nul");
    int n;
cout << "Введите число "<< "\n";
cin >> n;
 n = oshibka (n,Funk_1,Funk_1_1,Funk_2,Funk_2_2);
cout << "     "<<n<<"   "<<"\n";
return 0;
}
bool Funk_1 (int a)
{
    return a <= 0 ;
}
 
bool Funk_2 (int a)
{
    return a > 6 ;
}
int oshibka (int a,bool (*com_1)(int a),void(*otv_1)(),bool (*com_2)(int a),void(*otv_2)())
{
    while  (((*com_1)(a))||((*com_2)(a)))
{
    cout  <<"    ОШИБКА!!!!           ОШИБКА!!!! "<< "\n";
    cout <<"        ПОВТОРИТЕ ВВОД!             "<< "\n";
    if ((*com_1)(a))
    (*otv_1)();
    else
    (*otv_2)();
    cin >> a;
}
    return  a;
}
void Funk_1_1 ()
{
        cout <<  " Число не может быть меньше 1      "<<"\n";
}
void Funk_2_2 ()
{
        cout << "Число не может быть больше 6" <<"\n";
}
Мне не понятна эта конструкция

C++
1
2
3
4
5
[CPP]bool f2_val=false;
if(f2) f2_val =f2(a);
bool otv2_val=false;
 
    while  (f1(a)||f2_val)
[/CPP]
как будет проводится проверка на
C++
1
2
3
4
bool Funk_2 (int a)
{
    return a > 6 ;
}
это условие никогда не выполнится.И не могу сообразить как инициализировать
C++
1
void(*otv_2)()
 
Текущее время: 23:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru