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

Указатель на функцию в вызове другой функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разработать процедуру (и вспомогательную программу) выполняющую простейшие арифметические операции. http://www.cyberforum.ru/cpp-beginners/thread705374.html
Разработать процедуру (и вспомогательную программу) выполняющую простейшие арифметические операции. Исходные данные вводятся как параметры переменных окружения, результат - переменная окружения.
C++ межпрограммный обмен данными Помогите сделать , чтобы при вводе в одной консоле(сервере) выдавала на другую консоль(клиент) текст В данный момент этот код выдаёт только числа Сервер //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include<conio.h> #include<stdio.h> #include<windows.h> http://www.cyberforum.ru/cpp-beginners/thread705360.html
C++ Как компилить x64?
У меня почему то sizeof(size_t)==4, а система windows 7 x64. Как с этим бороться?
C++ Разработать процедуру (простейшие арифметические операции)
Разработать процедуру (и вспомогательную программу) выполняющую простейшие арифметические операции. Исходные данные вводятся как параметры переменных окружения, результат - переменная окружения.
C++ Явно завышенное значение функции http://www.cyberforum.ru/cpp-beginners/thread705335.html
Функция должна вернуть количество шестнадцетеричных чисел, минимально необходимых для представления значения параметра. size_t Log16 (size_t Bits ) { size_t result; size_t max; size_t start; max=std::numeric_limits<size_t>::max(); start=(max/4)*4; for (result=start; result>0; result-=4) {
C++ Найти в двухмерном массиве максимум и минимум, и поменять их местами Нужно найти в двухмерном массиве максимум и минимум, и поменять их местами. Как осуществить? подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
22.11.2012, 18:22     Указатель на функцию в вызове другой функции
Обращаться к таким аргументам правильно, с помощью va_list. Компилятор волен их размещать в любом порядке. Вдруг он их в другом порядке разместит, а не от младших адресов к старшим.
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
#include <cstdarg>
 
int zona(unsigned int n, ...)
{
    // инициализировать
    va_list args;
    va_start(args, n);
 
    double l = 0.0, m = 1.0;
    double prev, next;
    next = n;
    for (int i = 0; i != n; i++)
    {
        prev = next;
        next = va_arg(args, double); // вытянуть следующий аргумент как значение типа double
        m = m - next;
        if ((next < 1) && (next >= 0) && (m > 0))
        {
            l += prev * next;
            cout << "l= " << l << endl;
        }
        else
        {
            cout << "Ошибочные данные\n";
            return 0;
        }
    }
    double result = (l - va_arg(args, double) * m);
    va_end(args);
    return result;
}
 
Текущее время: 15:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru