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

Ошибка: функция не принимает 1 аргумент - C++

Восстановить пароль Регистрация
 
vladyxa13
 Аватар для vladyxa13
4 / 1 / 0
Регистрация: 15.09.2013
Сообщений: 21
20.09.2013, 23:31     Ошибка: функция не принимает 1 аргумент #1
Извините за нубский вопрос, но как с этого работающего кода
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
double a,b;
            char op;
            cin >> a >> op >> b;
                
            switch(op){
                    case '+': cout << "Результат: " << a+b << endl << endl; break;
                    case '-': cout << "Результат: " << a-b << endl << endl; break;
                    case '*': cout << "Результат: " << a*b << endl << endl; break;
                    case '/': try {
                                    if(!b) throw b;
                                    cout << "Результат: " << a/b << endl << endl; 
                              } catch ( double b) {
                                    cout << "Делить на нуль нельзя!\n";
                              } break;
                    
                    default: cout << "Неверная операция.";
                }
сделать функцию, с вызовом типа
C++
1
Calc(45/5);
побывал вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void Calc(double a, char op, double b){
    
    switch(op){
        case '+': cout << "Результат: " << a+b << endl << endl; break;
        case '-': cout << "Результат: " << a-b << endl << endl; break;
        case '*': cout << "Результат: " << a*b << endl << endl; break;
        case '/': try {
                        if(!b) throw b;
                            cout << "Результат: " << a/b << endl << endl; 
                        } catch ( double b) {
                            cout << "Делить на нуль нельзя!\n";
                        } break;
        default: cout << "Неверная операция.";
    }
}
вижуалка ругается
c:\documents and settings\admin\мои документы\visual studio 2010\projects\c++ learn\библеотка\main.cpp(6): error C2660: Calc: функция не принимает 1 аргументов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2013, 23:31     Ошибка: функция не принимает 1 аргумент
Посмотрите здесь:

Функция не принимает значение C++
Функция как аргумент другой функции C++
Функция не принимает параметры C++
C++ Функция не принимает 1 аргументов
C++ Функция не принимает аргументы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
20.09.2013, 23:34     Ошибка: функция не принимает 1 аргумент #2
Выложите весь код особенно где вы вызываете эту функцию.
Insane__
43 / 42 / 4
Регистрация: 10.09.2013
Сообщений: 292
20.09.2013, 23:34     Ошибка: функция не принимает 1 аргумент #3
Покажите как вы вызываете эту функцию. Нужно так:
C++
1
Calc(45,'/',5);
vladyxa13
 Аватар для vladyxa13
4 / 1 / 0
Регистрация: 15.09.2013
Сообщений: 21
20.09.2013, 23:35  [ТС]     Ошибка: функция не принимает 1 аргумент #4
C++
1
2
3
4
5
6
7
8
9
10
#include "convent-fun.h"
 
int main(){
    setlocale(LC_ALL, "rus");
        bios_style();
        cout << Calc(45/5);
        
    _getch();
    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
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include <locale>
#include <iostream>
#include <conio.h>
#include <vector>
#include <iomanip>
#include <cmath>
 
using namespace std;
 
#include <fstream>
    ofstream fout;//Создаем объект класса ofstream 
    ifstream fin;//Создаем объект класса ifstream 
        //Можно использовать эти объекты
            
            /*Делаем удобно =)*/
//int
typedef unsigned long long int ulli;
typedef long long int lli;
typedef short int shint;
typedef unsigned short int unshint;
 
//double
typedef long double ld;
 
 
//char
typedef char* byte;
typedef unsigned char unsch;
    
                        /*Функции конвертирования(преобразования)*/
 
                               /*Конвентирование валют*/
 
double doll_to_grn (double a){
 
    double b;
        b = a / 7.9;//Формула, где 7.9 курс доллара, переменная а кол-во долларов 
    return b;//Возврвщаем кол-во грн
}
double yevr_to_grn (double a){
 
    double b;
 
        b = a / 10.6 ;
    return b;
}
double rub_to_grn (double a){
 
    double b;
 
        b = a / 0.24;
    return b;
}
double doll_to_rub (double a){
 
    double b;
 
        b = a / 32.2;
    return b;
}
double yevr_to_rub (double a){
 
    double b;
 
        b = a / 43.0;
    return b;
}
//...
 
                            /*Конвертирование велечин*/
 
double f_to_m(double a){
 
    double b;
 
        b = a / 3.28;
    return b;
}
double dum_to_sm(double a){
 
    double b;
 
        b = a /2.54;
    return b;
}
double m_to_yr(double a){
 
    double b;
 
        b = a /2.54;
    return b;
}
 
 /**/
 
void Calc(double a, char op, double b){
    
    switch(op){
        case '+': cout << "Результат: " << a+b << endl << endl; break;
        case '-': cout << "Результат: " << a-b << endl << endl; break;
        case '*': cout << "Результат: " << a*b << endl << endl; break;
        case '/': try {
                        if(!b) throw b;
                            cout << "Результат: " << a/b << endl << endl; 
                        } catch ( double b) {
                            cout << "Делить на нуль нельзя!\n";
                        } break;
        default: cout << "Неверная операция.";
    }
}
bool xor(bool a, bool b){
 
        return (a||b) && !(a&&b);
 
    }
 
void bios_style(){
 
    system("color 16");
 
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.09.2013, 23:36     Ошибка: функция не принимает 1 аргумент #5
Если так:
C++
1
Calc(45, '/', 5);
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
20.09.2013, 23:36     Ошибка: функция не принимает 1 аргумент #6
ВАша шункция должна принимать 3 параметра.
C++
1
void Calc(double a, char op, double b)
А вы сколько передаете.
C++
1
cout << Calc(45/5);
vladyxa13
 Аватар для vladyxa13
4 / 1 / 0
Регистрация: 15.09.2013
Сообщений: 21
20.09.2013, 23:48  [ТС]     Ошибка: функция не принимает 1 аргумент #7
Цитата Сообщение от egor2116 Посмотреть сообщение
ВАша шункция должна принимать 3 параметра.
C++
1
void Calc(double a, char op, double b)
А вы сколько передаете.
C++
1
cout << Calc(45/5);
Так не выходит
C++
1
Calc(45.0, '/',5.0);
Уж как не изгибался
C++
1
2
3
4
5
6
7
8
9
10
11
double Calc(double a, char op, double b){
     double result=0;
    switch(op){
        case '+':  result=a+b; break;
        case '-':  result=a-b ; break;
        case '*':  result=a*b; break;
        case '/': result=a/b ; break;
        default: cout << "Неверная операция.";
    return result;
    }
}
Но вариант выше запускается и выводит мусор
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
20.09.2013, 23:54     Ошибка: функция не принимает 1 аргумент #8
Попробуйте так может поможет

C++
1
2
3
4
5
6
7
8
9
10
11
double Calc(double a, char op, double b){
     double result=0.0;
    switch(op){
        case '+':  result=a+b; break;
        case '-':  result=a-b ; break;
        case '*':  result=a*b; break;
        case '/': result=a/b ; break;
        default: std::cout << "Неверная операция.";
    }
        return result;
}
vladyxa13
 Аватар для vladyxa13
4 / 1 / 0
Регистрация: 15.09.2013
Сообщений: 21
20.09.2013, 23:56  [ТС]     Ошибка: функция не принимает 1 аргумент #9
Цитата Сообщение от egor2116 Посмотреть сообщение
Попробуйте так может поможет

C++
1
2
3
4
5
6
7
8
9
10
11
double Calc(double a, char op, double b){
     double result=0.0;
    switch(op){
        case '+':  result=a+b; break;
        case '-':  result=a-b ; break;
        case '*':  result=a*b; break;
        case '/': result=a/b ; break;
        default: std::cout << "Неверная операция.";
    }
        return result;
}
Если вот этот код запустился
C++
1
2
3
4
5
6
7
8
9
10
11
int Calc(int a, char op, int b){
     double result=0;
    switch(op){
        case '+':  result=a+b; break;
        case '-':  result=a-b ; break;
        case '*':  result=a*b; break;
        case '/': result=a/b ; break;
        default: cout << "Неверная операция.";
    return result;
    }
}
то и ваш по идее должен пойти.

Все норм. Спасибо всем за помощь!
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
20.09.2013, 23:57     Ошибка: функция не принимает 1 аргумент #10
то и ваш по идее должен пойти.
Да неужели. Вы хоть поняли в чем разница между ними ??
vladyxa13
 Аватар для vladyxa13
4 / 1 / 0
Регистрация: 15.09.2013
Сообщений: 21
21.09.2013, 00:01  [ТС]     Ошибка: функция не принимает 1 аргумент #11
Цитата Сообщение от egor2116 Посмотреть сообщение
Да неужели. Вы хоть поняли в чем разница между ними ??
Да! Я ошибку делал, передавая лишь один аргумент функции, а надо 3. А тот код я делал несмотря на ваш пост.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 00:05     Ошибка: функция не принимает 1 аргумент
Еще ссылки по теме:

Функция не принимает 0 аргументов C++
C++ Функция не принимает 5 аргументов
Функция не принимает 0 аргументов C++

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

Или воспользуйтесь поиском по форуму:
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
21.09.2013, 00:05     Ошибка: функция не принимает 1 аргумент #12
Да не вопрос я только хотел помочь. И привел код в котором вывел return result за границу switch`a.
Yandex
Объявления
21.09.2013, 00:05     Ошибка: функция не принимает 1 аргумент
Ответ Создать тему
Опции темы

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