Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
#1

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

11.11.2012, 01:27. Просмотров 1458. Ответов 24
Метки нет (Все метки)

привет всем господа программисты ! как исправить такую ошибку "error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов". IDE vc++
вот описан функтор
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
#pragma once
 
#include "rgb2hsl.h"
#include <vector>
#include <iostream>
 
using namespace std;
 
class Hsl : public rgb2hsl
{
public:
    Hsl(vector<double>& r, vector<double>& g
        , vector<double>& b): rgb2hsl(r, g, b), count(0) {  }
    double operator()()
    {
         ++count;
        if(*find(R.begin(), R.end(), *MAX3()) == *MAX3())
            for(int i = 0; i < 10; i++)
                if(G[i] > B[i])
                    return 60.0 * ((G[i] - B[i]) / resultMaxMin()[0]) + 0.0;
    }
private:
    int count;
};
клиентская область
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
#include "stdafx.h"
#include "rgb2hsl.h"
#include "Hsl.h"
#include <iostream>
#include <conio.h>
#include <vector>
#include <iterator>
 
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    vector<double> r, g, b;
    for(int i = 0; i < 10; i++)
    {
        r.push_back(rand() % 256);
        g.push_back(rand() % 256);
        b.push_back(rand() % 256);
    }
    Hsl rgb(r, g, b);
    rgb.show();
    if(*find(r.begin(), r.end(), *rgb.MAX3()) == *rgb.MAX3())
    {
        for(int i = 0; i < 10; i++) 
        {
            if(g[i] >= b[i])
                cout<<60.0 * ((g[i] - b[i]) / rgb.resultMaxMin()[0]) + 0.0<<" ";
            else if(g[i] < b[i])
                cout<<60.0 * ((g[i] - b[i]) / rgb.resultMaxMin()[0] + 360.0)<<" ";
        }
    }
    else if(*find(g.begin(), g.end(), *rgb.MAX3()) == *rgb.MAX3())
            for(int i = 0; i < 10; i++)
                cout<<60.0 * ((b[i] - r[i]) / rgb.resultMaxMin()[0]) + 120.0<<" ";
    else if(*find(b.begin(), b.end(), *rgb.MAX3()) == *rgb.MAX3())
            for(int i = 0; i < 10; i++)
                cout<<60.0 * ((r[i] - g[i]) / rgb.resultMaxMin()[0]) + 240.0<<" ";
    cout<<endl;
    vector<double> result(10);
    generate(result.begin(), result.end(), rgb()); //вот здесь я пытаюсь применить функтор, но почему то вылетает ошибка
    copy(result.begin(), result.end(), ostream_iterator<int>(cout, " "));
    
    _getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2012, 01:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов (C++):

Error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов - C++
выдает ошибку, я посмотрел похожие темы, но ничего не помогло. в общем мож кто поймет в чем ошибка #pragma once #include&lt;stdio.h&gt; ...

Error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов - C++
template &lt;class T&gt; class Stack { private: T* item; int m_size; public: Stack(int MaxSize) { m_size(0); item = new T;} bool...

Error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов - C++
Выдает ошибку, смежные темы и msdn не помогли понять мою ошибку. Прошу помочь разобраться. #include &quot;stdafx.h&quot; #include &quot;math.h&quot; ...

Error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов - C++
Привет! class GeneratorSudoku: ... void mix(int amount_shuffles = 31) { ...

Ошибка 1 error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов - C++
Помогите пожалуйста разобраться не пойму почему выдает 2 ошибки? Ошибка 1 error C2064: результатом вычисления фрагмента не является...

результатом вычисления фрагмента не является функция, принимающая 1 аргументов - C++
проверьте пожалуйста ошибку выдает!!!( #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;cmath&gt; using namespace std; int main()...

24
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
12.11.2012, 17:32  [ТС] #16
alsav22, все таки ты прав. написал отладочный код , оказывается присутствует или утечка памяти или что еще другое...

Добавлено через 4 часа 57 минут
alsav22, начал разбирать почему утечка памяти происходит... и нашел интересную фигню, что когда создаешь хотя бы один объект vector почему то происходит утечка памяти. почему это происходит ?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
12.11.2012, 17:45 #17
Цитата Сообщение от Виталий123 Посмотреть сообщение
alsav22, начал разбирать почему утечка памяти происходит... и нашел интересную фигню, что когда создаешь хотя бы один объект vector почему то происходит утечка памяти. почему это происходит ?
С чего Вы взяли, что так происходит?
0
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
12.11.2012, 17:52  [ТС] #18
Croessmah, вот самому интересно , вот код отладочный
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <vector>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    FILE* pOut(nullptr);
    errno_t err = freopen_s(&pOut, "debug_out.txt", "w", stdout);
    if(err)
        cout<<"Error"<<endl;
    _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF | _CRTDBG_ALLOC_MEM_DF);
 
    _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
    _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDOUT);
        vector<int> r;
        _getch();
        return 0;
}
может я что то неправильно делаю...
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
12.11.2012, 18:08 #19
на выходе пустой фаил debug_out.txt

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <vector>
#ifdef _DEBUG
#include <crtdbg.h>
#define _CRTDBG_MAP_ALLOC
#endif
using namespace std;
 
int main()
{
    {vector<int> r;}
     _CrtDumpMemoryLeaks();
        _getch();
        return 0;
}
1
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
12.11.2012, 18:15  [ТС] #20
Croessmah, можешь рассказать по подробней про свой код))) ?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
12.11.2012, 18:26 #21
Цитата Сообщение от Виталий123 Посмотреть сообщение
Croessmah, можешь рассказать по подробней про свой код))) ?
Боремся с утечками памяти
1
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
12.11.2012, 18:27  [ТС] #22
Croessmah, оказывается никакой утечки памяти не было!
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
12.11.2012, 18:28 #23
Цитата Сообщение от Виталий123 Посмотреть сообщение
Croessmah, оказывается никакой утечки памяти не было!
деструктор vector'а все освобождает.
1
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
12.11.2012, 18:39  [ТС] #24
Croessmah, я все таки не понимаю, в чем моя ошибка было при написание отладочного кода ?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
12.11.2012, 18:55 #25
Цитата Сообщение от Виталий123 Посмотреть сообщение
Croessmah, я все таки не понимаю, в чем моя ошибка было при написание отладочного кода ?
Попробуйте так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <conio.h>
#include <vector>
 
using namespace std;
 
int main()
{
    int *a=new int;
    _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF | _CRTDBG_ALLOC_MEM_DF);
    
    _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_WNDW);
   // _CrtSetReportFile(_CRT_WARN, stdout);
        //delete [] a;
        _getch();
        return 0;
}
0
12.11.2012, 18:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2012, 18:55
Привет! Вот еще темы с ответами:

Результатом вычисления фрагмента не является функция, принимающая 2 аргументов - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;math.h&gt; #include &lt;algorithm&gt; using namespace std; int main(){ ifstream in; ...

в 8 и 10 строке результатом вычисления фрагмента не является функция принимающая 1 аргументов - C++
#include &quot;stdafx.h&quot; #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; double fu(double x1,double y1) ...

error C2064: результатом вычисления фрагмента не является функция - C++
Здравствуйте. Недавно начала программировать и столкнулась с такой проблемой, помогите, пожалуйста: error C2064: результатом вычисления...

error C2064: результатом вычисления фрагмента... - C++
error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов //процедуры и функции 11. Найти количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru