0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 8
1

Странная ошибка: [Error] no match for call to '(std::string {aka std::basic_string<char>}) (int&)'

11.01.2019, 15:19. Показов 13763. Ответов 8

У меня появляется проблема при компиляции сей программы:
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
#include <iostream>
#include <string>
#include <sstream>
 
using namespace std;
 
int main()
{
    setlocale(0, "");
    int a;
    int b;
    cin >> a >> b;
    int n = a*b;
    string arr[n];
    for (int i = 0;i < n;i++)
    {
        string y;
        cin >> y;
        for (int k = 1;k <= b;k++)
        {
            arr[i] = y(k);
        }
    }
    cin >> a;
    string text;
    cin >> text;
    for (int i = 1; i <= a; i++)
    {
        string c;
        c = text[i];
        for (int x = 0; x < n; x++)
        {
            if (arr[x] == "c")
            {
                a--;
                arr[x] = "0";
            }
    if (a == 0)
    {
        cout << "YES" << endl;
        return 0;
    }
    else
    {
        cout << "NO" << endl;
        return 0;
    }
        }
    }
}
что тут не так мне не понятно, ошибка:
21 16 [Error] no match for call to '(std::string {aka std::basic_string<char>}) (int&)'
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2019, 15:19
Ответы с готовыми решениями:

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri
на вод поступают 2 строки типа string. определить количество вхождений строки 2 в строку 1 ошибка...

ошибка в программе (cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*')
int main() { string fileName, currWord, currMax = &quot;&quot;; cin&gt;&gt;fileName; ...

(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&
astxx::manager::connection::connection(std::basic_string&lt;char, std::char_traits&lt;char&gt;,...

No match for 'operator<' (operand types are 'std::__cxx11::string {aka std::__c
Имеем следующий код: #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; #include...

8
"C with Classes"
1610 / 1383 / 518
Регистрация: 16.08.2014
Сообщений: 5,752
Записей в блоге: 1
11.01.2019, 15:28 2
Цитата Сообщение от N0Way Посмотреть сообщение
string arr[n];
это массив ты хочешь объявить?
0
112 / 91 / 31
Регистрация: 24.10.2018
Сообщений: 336
11.01.2019, 15:29 3
y это переменная типа string. k - число. Что предполагается сделать этим кодом:
y(k);
?
0
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 8
11.01.2019, 15:47  [ТС] 4
Цитата Сообщение от krolligator Посмотреть сообщение
Что предполагается сделать этим кодом:
y(k);
?
я собирался вытащить букву из стринг y , занимающую значение k.
Примеры
входные данные
4 5
aaaaa
aaaaa
aaaaa
aaaaa
5
lordf
выходные данные
NO
входные данные
3 3
ale
zsx
ccs
4
alex
выходные данные
YES
0
112 / 91 / 31
Регистрация: 24.10.2018
Сообщений: 336
11.01.2019, 16:06 5
Лучший ответ Сообщение было отмечено N0Way как решение

Решение

Цитата Сообщение от N0Way Посмотреть сообщение
я собирался вытащить букву из стринг y , занимающую значение k.
Обратиться к символу в стринге - это [], а не ().
0
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 8
11.01.2019, 16:24  [ТС] 6
не заработало, причем ошибка в коде, но я не знаю где :\

Добавлено через 9 минут
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
#include <iostream>
#include <string>
#include <sstream>
 
using namespace std;
 
int main()
{
    setlocale(0, "");
    int a;
    int b;
    cin >> a >> b;
    int n = a*b;
    string arr[n];
    for (int i = 0;i < a;i++)
    {
        string y;
        cin >> y;
        for (int k = 1;k <= b;k++)
        {
            arr[i] = y[k];
        }
    }
    cin >> a;
    string text;
    cin >> text;
    for (int i = 1; i <= a; i++)
    {
        string c;
        c = text[i];
        for (int x = 0; x < n; x++)
        {
            if (arr[x] == "c")
            {
                a--;
                arr[x] = "0";
            }
        }
    }
    if (a <= 0)
    {
        cout << "YES" << endl;
        return 0;
    }
    else
    {
        cout << "NO" << endl;
        return 0;
    }
}
ответ выходит неверный :\
0
112 / 91 / 31
Регистрация: 24.10.2018
Сообщений: 336
11.01.2019, 16:42 7
Цитата Сообщение от N0Way Посмотреть сообщение
не заработало, причем ошибка в коде
Заработало. Ты просил исправить ошибку компиляции, а не ошибку в логике программы.

Добавлено через 1 минуту
По поводу совершенно новой проблемы не имеющей отношения к теме: что, в принципе, программа должна делать?
0
0 / 0 / 0
Регистрация: 14.11.2018
Сообщений: 8
11.01.2019, 21:47  [ТС] 8
Цитата Сообщение от krolligator Посмотреть сообщение
что, в принципе, программа должна делать?
На вход 2 числа; длина и ширина таблицы. Затем сама таблица, длина слова и само слово.
Цитата Сообщение от N0Way Посмотреть сообщение
Примеры
входные данные
4 5
aaaaa
aaaaa
aaaaa
aaaaa
5
lordf
выходные данные
NO
входные данные
3 3
ale
zsx
ccs
4
alex
выходные данные
YES
необходимо найти, можно ли из букв таблицы составить данное слово.
0
112 / 91 / 31
Регистрация: 24.10.2018
Сообщений: 336
11.01.2019, 23:30 9
У тебя еще на стадии ввода "таблицы" идет жесть. Попробуй убрать весь последующий код и просто выведи свой arr после заполнения, чтобы убедиться.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2019, 23:30
Помогаю со студенческими работами здесь

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

Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}'
на #define LOG(Variable) Log&lt;&lt;&quot;&lt;&quot;;...

Error C2664: std::vector<_Ty>::push: невозможно преобразовать параметр 1 из 'double' в 'const std::string &'
#include &lt;iostream&gt; #include &lt;stack&gt; #include &lt;sstream&gt; #include &lt;string&gt; using namespace...

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами
подскажите есть вот такая задача. Есть список . Создать второй список, в котором будут все эти же...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru