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

error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разбиение проекта на .h http://www.cyberforum.ru/cpp-beginners/thread694263.html
Эсть класс А от его наследую класс Б, в .h пишу #ifndef B_H #define B_H #include "A.h" class B:public A{ ......} #endif B_H в main()
C++ Как переопределить конструктор класса Здравствуйте. У меня есть пример такого кода:#include <cstdio> template <int n> class B { public: int size; int a; B() : size(n) { printf( "B::B()\n" ); for ( int i = 0; i < size; i++ ) { http://www.cyberforum.ru/cpp-beginners/thread694255.html
Почему функцию sqrt нельзя применять к int переменным, а только к double и flot? C++
Почему функцию sqrt нельзя применять к int переменным, а только к double и float? Извините за опечатку в названии темы.
Заполнить массив простыми числами по возрастанию C++
Нужно заполнить массив из n элементов простыми числами по возрастанию #include<iostream> using namespace std; int main() {int str; for (int i=0;i<=9;i++) {cout<<str<<" , ";} cout<<endl;
C++ Базовые знания http://www.cyberforum.ru/cpp-beginners/thread694233.html
Всем доброго времени суток! У меня появилась нужда в систематизации знаний языка,и потому хотел бы узнать несколько интересующих меня тем,если есть возможность,то посоветуйте какую либо литературу или дайте ответ на несколько достаточно простых вопросов: 1.Как в памяти представляются Массивы,Списки,Очереди,Деревья,Стеки. 2.Что мы можем узнать из адреса переменной? 3.Как в памяти...
C++ Хэш-таблица Дана строка произвольного размера. Необходимо найти все повторяющиеся фрагменты максимальной длины. Для начала нужно создать хэш-таблицу всех символов вида "символ ->массив позиций". Делаю по алгоритму, пока не получается. Кривой код: #include <iostream> #include <conio.h> #include <cstring> using namespace std; подробнее

Показать сообщение отдельно
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
11.11.2012, 12:06  [ТС]
alsav22, верно подметил ) если функтор переписать в обычную функцию... компилятор не выдаст ошибку, всего лишь какие то неправильно числа покажет. а так если добавить else(уже много всякие варианты перебирал, и заметил, что если используешь унаследованные члены и методы для operator()... вылетает обязательно ошибка) в функтор , и вызвать ее через generate все равно такая ошибка выскакивает...

Добавлено через 1 минуту
ValeryS, вот класс rgb2hsl
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#pragma once
 
#include <vector>
#include <iostream>
#include <algorithm>
 
#include <iterator>
 
using namespace std;
 
class rgb2hsl
{
public:
    rgb2hsl(vector<double>& r, vector<double>& g
        , vector<double>& b): R(r.begin(), r.end()), G(g.begin(), g.end())
    , B(b.begin(), b.end()) { cout<<"G ";
    copy(G.begin(), G.end(), ostream_iterator<double>(cout, " "));
    cout<<endl; cout<<"B ";
    copy(B.begin(), B.end(), ostream_iterator<double>(cout, " "));
    cout<<endl; cout<<"R ";
    copy(R.begin(), R.end(), ostream_iterator<double>(cout, " "));
    cout<<endl;
    }
    vector<double>::iterator MIN(vector<double>& A, vector<double>& B)
    {
        vector<double>::iterator  j, i;
        j = min_element(A.begin(), A.end());
        i = min_element(B.begin(), B.end());
        if(*j <= *i) return j;
        else return i;
    }
    vector<double>::iterator MIN3()
    {
        vector<double>::iterator j, i;
        j = min_element(R.begin(), R.end());
        i = min_element(G.begin(), G.end());
        if(*j <= *i) return MIN(R, B);
        else return MIN(G, B);
    }
    vector<double>::iterator MAX(vector<double>& A, vector<double>& B)
    {
        vector<double>::iterator j, i;
        j = max_element(A.begin(), A.end());
        i = max_element(B.begin(), B.end());
        if(*j >= *i) return j;
        else return i;
    }
    vector<double>::iterator MAX3()
    {
        vector<double>::iterator j, i;
        j = max_element(R.begin(), R.end());
        i = max_element(G.begin(), G.end());
        if(*j >= *i) return MAX(R, B);
        else return MAX(G, B);
    }
    vector<double> resultMaxMin()
    {
        vector<double> j, i, result;
        j.push_back(*MAX3()); i.push_back(*MIN3());
        transform(j.begin(), j.end(), i.begin(), back_inserter(result), minus<double>());
        return result;
    }
    void show()
    {
        cout<<"MIN3 "; cout<<*MIN3()<<endl;
        cout<<"MAX3 "; cout<<*MAX3()<<endl;
        vector<double> tempResult = resultMaxMin(); cout<<"resultMaxMin ";
        copy(tempResult.begin(), tempResult.end(), ostream_iterator<double>(cout, " "));
        cout<<endl;
    }
protected:
    vector<double> R; vector<double> G; vector<double> B;
};
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru