С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 27.07.2022
Сообщений: 10
1

Ошибка error: no matching function for call to '.'

28.08.2022, 14:35. Показов 743. Ответов 2
Метки c++ (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет.

Так как моё изучение языка с++ началось недавно, пока не со всеми проблемами могу справиться.

Помогите, пожалуйста.

Не могу никак разобраться с ошибкой main.cpp:37:9: error: no matching function for call to 'schetchik' и main.cpp:39:9: error: no matching function for call to 'raspars', при вызове функций.

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
#include <QCoreApplication>
#include <iostream>
#include <QString>
#include <map>
#include <QDebug>
#include <cmath>
 
using namespace std;
 
int shetchik();
int raspars();
QString perevod(int);
 
map<int, QString> collection = {{1, "один"}, {2, "два"}, {3, "три"}, {4, "четыре"}, {5, "пять"}, {6, "шесть"}, {7, "семь"}, {8, "восемь"}, {9, "девять"}, {10, "десять"},
                                {11, "одиннадцать"}, {12, "двенадцать"}, {13, "тринадцать"}, {14, "четырнадцать"}, {15, "пятнадцать"}, {16, "шестнадцать"}, {17, "семнадцать"}, {18, "восемнадцать"}, {19, "девятнадцать"},
                                {20, "двадцать"}, {30, "тридцать"}, {40, "сорок"}, {50, "пятьдесят"}, {60, "шестьдесят"}, {70, "семьдесят"}, {80, "восемьдесят"}, {90, "девяноста"},
                                {100, "сто"}, {200, "двести"}, {300, "триста"}, {400, "четыреста"}, {500, "пятьсот"}, {600, "шестьсот"}, {700, "семьсот"}, {800, "восемьсот"}, {900, "девятьсот"}};
 
int main(int argc, char *argv[])
{
    setlocale(LC_ALL, "Russian");
 
    QCoreApplication a(argc, argv);
 
    int number;
    //int tt;
 
    while(true)
    {
        qDebug() << "Введите число ";
        cin >> number;
        QString ss;//= perevod(number);
        shetchik(number);
        int tt {shetchik()};
        raspars(number, tt);
        qDebug() << ss << endl;
    }
    return a.exec();
}
 
int shetchik(int number)//считает колическтво цифр в числе
{
    int counter = 0;
 
    while(number)
    {
        number /= 10;
        counter++;
    }
    return counter;
}
 
int raspars(int number,int counter)//разбор числа на классы
{
    int lil;
    int lcounter;
    while (number)
    {
    --counter;
    lcounter = counter / 3;
    lil = number / pow(10, lcounter * 3);
    number %= ((int)pow(10, lcounter * 3));
    counter -= 2;
    perevod(lil);
    }
    return 0;
}
 
QString perevod(int number)
{
    //int numb = number;
    
    int numb;
    int counter {shetchik()};
    int celoe = 0;
    QString result;
 
    while (numb)
    {
        if ((numb / 10) == 1)//
        {
            result += collection[numb];
            counter -= 2;
            if (!counter) break;//выход
        }
        celoe = numb / pow(10, --counter);//оставляет первое число, деление на разрядность
        celoe *= pow(10, counter);//добавляет числу нужное количество нулей
        numb %= ((int) pow(10, counter));//удаляет первое число
        result += collection[celoe] + " ";//вызов ячейки из массива с целыми
    }
    return result;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.08.2022, 14:35
Ответы с готовыми решениями:

Поиск палиндрома. Итераторы. [ error: no matching function for call to ‘copy_if . ' ]
Здравствуйте. Задача поиска палиндрома (выражения, в котором не имеет значение направление...

Error: no matching function for call to 'tan(float&, int)'
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { float...

Ошибка: no matching function for call to
Здравствуйте. Вот такая ошибка: /usr/include/c++/4.8/bits/stl_algo.h:2235:62: required from...

Ошибка компиляции: no matching function for call
В классе объявлено 4 конструктора: MyClass() = default; explicit MyClass(const...

2
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
28.08.2022, 14:48 2
Лучший ответ Сообщение было отмечено zss как решение

Решение

Несоответсвие раз
Объявление:
Цитата Сообщение от HoTCheeze Посмотреть сообщение
int shetchik();
Обращение:
Цитата Сообщение от HoTCheeze Посмотреть сообщение
shetchik()
Определение:
Цитата Сообщение от HoTCheeze Посмотреть сообщение
int shetchik(int number)


Несоответствие два
Объявление:
Цитата Сообщение от HoTCheeze Посмотреть сообщение
int raspars();
Обращение:
Цитата Сообщение от HoTCheeze Посмотреть сообщение
raspars(number, tt);
Определение:
Цитата Сообщение от HoTCheeze Посмотреть сообщение
int raspars(int number,int counter)
1
0 / 0 / 0
Регистрация: 27.07.2022
Сообщений: 10
28.08.2022, 18:18  [ТС] 3
Получилось, спасибо)))
Можно еще вопрос задать?
Как сделать в этой программе, чтобы она выводила ответ в одной строке?
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
#include <QCoreApplication>
#include <iostream>
#include <QString>
#include <map>
#include <QDebug>
#include <cmath>
 
using namespace std;
 
int shetchik(int number);
int raspars(int number,int counter);
QString perevod(int number);
 
map<int, QString> collection = {{1, "один"}, {2, "два"}, {3, "три"}, {4, "четыре"}, {5, "пять"}, {6, "шесть"}, {7, "семь"}, {8, "восемь"}, {9, "девять"}, {10, "десять"},
                                {11, "одиннадцать"}, {12, "двенадцать"}, {13, "тринадцать"}, {14, "четырнадцать"}, {15, "пятнадцать"}, {16, "шестнадцать"}, {17, "семнадцать"}, {18, "восемнадцать"}, {19, "девятнадцать"},
                                {20, "двадцать"}, {30, "тридцать"}, {40, "сорок"}, {50, "пятьдесят"}, {60, "шестьдесят"}, {70, "семьдесят"}, {80, "восемьдесят"}, {90, "девяноста"},
                                {100, "сто"}, {200, "двести"}, {300, "триста"}, {400, "четыреста"}, {500, "пятьсот"}, {600, "шестьсот"}, {700, "семьсот"}, {800, "восемьсот"}, {900, "девятьсот"}};
 
int main(int argc, char *argv[])
{
    setlocale(LC_ALL, "Russian");
 
    QCoreApplication a(argc, argv);
 
    int number;
    //int tt;
 
    while(true)
    {
        qDebug() << "Введите число ";
        cin >> number;
        //QString ss; //= perevod(number);
        int tt {shetchik(number)};
        raspars(number, tt);
        //qDebug() << ss << endl;
    }
    return a.exec();
}
 
int shetchik(int number)//считает колическтво цифр в числе
{
    int counter = 0;
 
    while(number)
    {
        number /= 10;
        counter++;
    }
    return counter;
}
 
int raspars(int number,int counter)//разбор числа на классы
{
    int lil;
    int lcounter;
    while (number)
    {
    --counter;
    lcounter = counter / 3;
    lil = number / pow(10, lcounter * 3);
    number %= ((int)pow(10, lcounter * 3));
    counter -= 2;
    perevod(lil);
    }
    return 0;
}
 
QString perevod(int number)
{
    int counter {shetchik(number)};
    int celoe = 0;
    int numb = number;
    QString result;
 
    while (numb)
    {
        if ((numb / 10) == 1)//
        {
            result += collection[numb];
            counter -= 2;
            qDebug()<< result;
            if (!counter) break;//выход
        }
        celoe = numb / pow(10, --counter);//оставляет первое число, деление на разрядность
        celoe *= pow(10, counter);//добавляет числу нужное количество нулей
        numb %= ((int) pow(10, counter));//удаляет первое число
        result += collection[celoe] + " ";//вызов ячейки из массива с целыми
 
      if (!(counter % 3))
          qDebug()<< result;
    }
    return result;
}
0
28.08.2022, 18:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.08.2022, 18:18
Помогаю со студенческими работами здесь

Ошибка компиляции: no matching function for call to
Здравствуйте форумчане. Возникает ошибка компиляции no matching function for call to в коде: ...

Наследование классов, ошибка no matching function for call to
Здравствуйте. Имеется программа с классом tre. Пытаюсь сделать наследование Новым классом Trel, но...

Ошибка no matching function for call to при работе с файлом
возникает ошибка no matching function for call to 'getline(std::string&amp;, std::string&amp;)' ...

Ошибка: no matching function for call to 'Slovare<std::basic_string<char> >::show()'
Помогите исправить ошибку. Программа должна при нажатии 3 выводить итог, но при построении выходит...

Cin.getline "error: no matching function for call to "STD::BASIC_istream<char> и.тд)
быстрый поиск в интернете дал понять, сущность проблемы, но не ее основу. касательно работы с...

[Error] no matching function for call to 'worker::worker()' (Worker-структура)
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cstring&gt; using namespace std; struct worker {...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru