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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 90, средняя оценка - 4.73
L@m@kЪ
2 / 2 / 0
Регистрация: 19.10.2008
Сообщений: 23
#1

Too few arguments to function. Почему? - C++

02.03.2009, 17:04. Просмотров 12408. Ответов 9
Метки нет (Все метки)

Здравствуйте!
Есть программа, которая при компиляции вываливается с ошибкой. Нужно эту ошибку найти.
Код
#include <iostream>
#include <string>

using namespace std;

void func (double cena, double procent, double sum, double procentrub, double procsum) //Функция подсчёта и вывода информации
{ for (int cntr = 1; cena != 0; cntr++)
    { cout << "\nВведите цену " << cntr << "-го товара: ";
        cin >> cena;
        if (cena != 0)
        { cout << "Введите скидку " << cntr << "-го товара: ";
            cin >> procent;
            procentrub = (cena / 100) * procent; // Скидка в рублях
            procsum += procentrub;
            sum = sum + (cena - procentrub); } // Цена товара со скидкой
        else
        {    cout << "\nИтоговая цена: " << sum << endl; } } }

int main (int argc, char *argv[])
{ func(); }
Вываливается с ошибкой Too few arguments to function ‘void func(double, double, double, double, double)’
Почему так? Почему нельзя засунуть много аргументов? Помогите!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
02.03.2009, 17:12     Too few arguments to function. Почему? #2
Можно много.Ты же не одного не передаешь.
Vourhey
Почетный модератор
6477 / 2252 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
02.03.2009, 17:13     Too few arguments to function. Почему? #3
func у тебя параметры принимает, а ты ее как вызываешь, видел?
too few - слишком мало, грамотей, блин
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
02.03.2009, 17:13     Too few arguments to function. Почему? #4
ну вообще все правильно вам пишут, и на аргументы вас никто не ограничивает, только у меня вопрос:
если это вызов функции:
C++
1
{ func(); }
, где параметры вообще? или вы рассчитываете, что компилятор сам додумается что-то в функцию передать?


Vourhey, Humanitis, так это вижу не я один... ну повезло... а то думал - переработался)))
L@m@kЪ
2 / 2 / 0
Регистрация: 19.10.2008
Сообщений: 23
02.03.2009, 17:23  [ТС]     Too few arguments to function. Почему? #5
Цитата Сообщение от Vourhey Посмотреть сообщение
func у тебя параметры принимает, а ты ее как вызываешь, видел?
too few - слишком мало, грамотей, блин
Глубоко сожалею о своей тупости и безграмотности, а также о лени поискать в словаре

Добавлено через 1 минуту 53 секунды
Цитата Сообщение от WooDooMan Посмотреть сообщение
ну вообще все правильно вам пишут, и на аргументы вас никто не ограничивает, только у меня вопрос:
если это вызов функции:
C++
1
{ func(); }
, где параметры вообще? или вы рассчитываете, что компилятор сам додумается что-то в функцию передать?


Vourhey, Humanitis, так это вижу не я один... ну повезло... а то думал - переработался)))
Большое спасибо, ошибка исчезла. Но появилась другая: в строке 21
Код
avonfunc.cpp: In function ‘int main(int, char**)’:
avonfunc.cpp:21: ошибка: expected primary-expression before ‘double’
avonfunc.cpp:21: ошибка: expected primary-expression before ‘double’
avonfunc.cpp:21: ошибка: expected primary-expression before ‘double’
avonfunc.cpp:21: ошибка: expected primary-expression before ‘double’
avonfunc.cpp:21: ошибка: expected primary-expression before ‘double’
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
02.03.2009, 17:31     Too few arguments to function. Почему? #6
L@m@kЪ, покажи снова код
L@m@kЪ
2 / 2 / 0
Регистрация: 19.10.2008
Сообщений: 23
02.03.2009, 17:41  [ТС]     Too few arguments to function. Почему? #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
 
using namespace std;
 
void func (double cena, double procent, double sum, double procentrub, double procsum);
 
void func (double cena, double procent, double sum, double procentrub, double procsum) //Функция подсчёта и вывода информации
{ for (int cntr = 1; cena != 0; cntr++)
    { cout << "\nВведите цену " << cntr << "-го товара: ";
        cin >> cena;
        if (cena != 0)
        { cout << "Введите скидку " << cntr << "-го товара: ";
            cin >> procent;
            procentrub = (cena / 100) * procent; // Скидка в рублях
            procsum += procentrub;
            sum = sum + (cena - procentrub); } // Цена товара со скидкой
        else
        {    cout << "\nИтоговая цена: " << sum << endl; } } }
 
int main (int argc, char *argv[])
{ func (double cena, double procent, double sum, double procentrub, double procsum); }
Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
02.03.2009, 17:42     Too few arguments to function. Почему? #8
оригинальноСначала надо объявить переменные ,а потом их передавать в функцию. А ты их объявляешь в теле вызова функции
C++
1
2
3
4
int main (int argc, char *argv[])
{ 
double cena=2.0, procent=13.0,sum=40.0, procentrub=13.0,procsum=40.0;
func (cena, procent,  sum,  procentrub, procsum); }
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
02.03.2009, 17:44     Too few arguments to function. Почему? #9
вы бы хоть одну книгу прочитали что ли, для начала...
попробуйте так:
Код
{ 
[COLOR=black]double cena, double procent, double sum, double procentrub, double procsum;[/COLOR]
... // ввод данных
func (cena, procent, sum, procentrub, procsum); 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2009, 17:48     Too few arguments to function. Почему?
Еще ссылки по теме:
Ошибка C2660: 'ChildMATRIX::print2' : function does not take 0 arguments C++
C++ Пишет function does not take arguments при любых аргументах
Исправить ошибку error C2064: term does not evaluate to a function taking 1 arguments C++
C++ Исправить ошибку компиляции "no overloaded function takes 3 arguments"
C++ C++ ошибка: "too few arguments to function"

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

Или воспользуйтесь поиском по форуму:
L@m@kЪ
2 / 2 / 0
Регистрация: 19.10.2008
Сообщений: 23
02.03.2009, 17:48  [ТС]     Too few arguments to function. Почему? #10
Цитата Сообщение от WooDooMan Посмотреть сообщение
вы бы хоть одну книгу прочитали что ли, для начала...
попробуйте так:
Код
{ 
[COLOR=black]double cena, double procent, double sum, double procentrub, double procsum;[/COLOR]
... // ввод данных
func (cena, procent, sum, procentrub, procsum); 
}
Нда, действительно что-то туплю сегодня. Всем спасибо, всё работает
Yandex
Объявления
02.03.2009, 17:48     Too few arguments to function. Почему?
Ответ Создать тему
Опции темы

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