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

Слишком много аргументов - C++

Восстановить пароль Регистрация
 
RiMpel2
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 22
22.05.2013, 22:15     Слишком много аргументов #1
Добрый вечер. Выдает ошибку у Epsilon что много аргументов, а также пишет что sqrt перегружен. Как исправить?
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
double xnach,xkonec,epsilon,delta,newdel,xkn,x,i,ideal,a;
 
int _tmain(int argc, _TCHAR* argv[])
{
    HINSTANCE mydll = LoadLibraryA("my_dll.dll");
    if(mydll==NULL) 
    {
    cout << "error!!!";
    }
 
    typedef int (*Nmyf_3)(double);
    Nmyf_3 myf_3 = (Nmyf_3)GetProcAddress(mydll, "myf_3");
    Nmyf_3 fact = (Nmyf_3)GetProcAddress(mydll, "fact");
    Nmyf_3 myf_math = (Nmyf_3)GetProcAddress(mydll, "myf_math");
    
 
 
 
     setlocale(LC_ALL,"Rus");
    
 
 
 
    ss:
    cout << "Введите эпсилон\n";
    cin >> epsilon;
    cout << "Введите Х начальное\n";
    cin >>xnach;
    cout << "Введите Х конечное\n";
        cin >>xkonec;
        cout << "Введите дельта\n";
        cin >>delta;
    xkn=xkonec-xnach;
    
    if (epsilon<0) {cout<< "Ошибка, попробуйте снова\n";
    goto ss;
    }
    if ((xkn*delta)<0) {cout<< "Ошибка, попробуйте снова\n";
    goto ss;
    }
 
    printf(" -------------------------------------------------------------------\n");
    printf("|      x         |      mycos (x) |        cos(x)  |      delta     |\n");
    printf(" -------------------------------------------------------------------\n");
    i=xnach;
    for( i; i<=xkonec; i=i+delta)
    { x=i; 
        newdel=sqrt(abs((myf_3(x,epsilon)*myf_3(x,epsilon))-(myf_math(x)*myf_math(x))));
    printf("| %14.11f | %14.11f | %14.11f | %14.11f |\n",x,myf_3(x,epsilon),myf_math(x),newdel);
    printf(" -------------------------------------------------------------------\n");
    }
    cout<<"Введите Хideal\n";
    cin>>ideal;
    printf(" -------------------------------------------------------------------\n");
    printf("|    Epsilon     |      mycos (x) |        cos(x)  |      delta     |\n");
    printf(" -------------------------------------------------------------------\n");
    epsilon=1;
    for (a=1; a<=7; a++ ){
    epsilon=epsilon*0.1;
    newdel=sqrt(abs((myf_3(ideal,epsilon)*myf_3(ideal,epsilon))-(myf_math(ideal)*myf_math(ideal))));
    printf("| %14.11f | %14.11f | %14.11f | %14.11f |\n",epsilon,myf_3(ideal,epsilon),myf_math(ideal),newdel);
    printf(" -------------------------------------------------------------------\n");
    
    }
    
    return 0;
    }
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
extern "C" __declspec(dllexport) double myf_math(double x){
 
x=cos(x)*cos(x);
 
 
return x;
}
extern "C" __declspec(dllexport) double fact (double fa){
    
    int n=1;
    double na=1;
    for (n=1; n<=fa; n=n+1)
    {
    na=na*n;
    }
    return na;
}
 
extern "C" __declspec(dllexport) double myf_3 (double x, double epsilon) 
                {
 
     double lastresult, result,fa;
     int ik=1;
     int dd=-1;
 
    lastresult = 1;
    result=0;
 
    do {    
        result = lastresult;
        
        fa=2*ik;
        lastresult = ((dd * pow(x, fa) * pow(2.0,fa-1)) / (fact(fa))); 
       ik=ik+1;
        dd=dd*(-1);
       lastresult = lastresult + result;
    } while ((abs(lastresult - result)) >= epsilon);
 
    return lastresult;
                }
Ошибки конкретно в newdel=sqrt(abs((myf_3(x,epsilon)*myf_3(x,epsilon)) и тд

Добавлено через 22 минуты
Со sqrt проблему решил, а вот почему функции myf_3 не могу передать 2й аргумент - не понимаю.

Добавлено через 21 час 14 минут
Проблема решена
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 22:15     Слишком много аргументов
Посмотрите здесь:

слишком много включаемых файлов C++
слишком много инициализаторов C++
C++ Ошибка: слишком много включаемых файлов
C++ Подсчет числа слов в тексте. Слишком много аргументов для вызова
C++ Ошибка "Слишком много аргументов в вызове функции"
C++ Полиморфизм и ошибка "Слишком много аргументов"
C++ Слишком мало аргументов в вызове функции
C++ Слишком мало аргументов в вызове функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 22:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru