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

Ошибка "невозможно преобразовать аргумент 3 из "int" в "std::string""

24.04.2020, 20:13. Показов 3057. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void change_inf(pr PrArr[])
{
    int num, kBuff;
    string vBuff, faBuff, fBuff;
    cout << "Введите номер строки для редактирования: ";
    cin >> num;
    num--;
    if (num < 4) {
        cout << "Введите новые данные" << endl
            << "Фамилия: ";
        cin >> fBuff;
        cout << "Вуз: ";
        cin >> vBuff;
        cout << "Курс: ";
        cin >> kBuff;
        cout << "Год создания: ";
        cin >> faBuff;
        pr p( fBuff, vBuff, kBuff, faBuff);<- ругается на fBuff и выдает ошибку C2664 "pr::pr(pr &&)": невозможно преобразовать аргумент 3 из "int" в "std::string"
        PrArr[num] = p;
        cout << endl;
    }
    else cout << "Неверное число" << endl;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2020, 20:13
Ответы с готовыми решениями:

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...

Error C2440: =: невозможно преобразовать 'std::string' в 'double'
&gt;c:\users\nreshetova\documents\visual studio 2008\projects\sort3d1\sort3d1\sort3d1.cpp(73) : error...

Ошибка: "невозможно преобразовать аргумент 1 из "int [3][3]" в "int **""
Приветствую, сделал задание, но выдает вот такую ошибку &quot;int sum(int **,int)&quot;: невозможно...

Странная ошибка: [Error] no match for call to '(std::string {aka std::basic_string<char>}) (int&)'
У меня появляется проблема при компиляции сей программы: #include &lt;iostream&gt; #include &lt;string&gt;...

Ошибка error C2440: инициализация: невозможно преобразовать 'int' в 'int []'
// ConsoleApplication9.cpp: определяет точку входа для консольного приложения. // #include...

9
Модератор
Эксперт С++
13505 / 10756 / 6411
Регистрация: 18.12.2011
Сообщений: 28,711
24.04.2020, 20:19 2
Посмотрите конструктор класса pr и сравните с тем, что Вы написали:
C++
1
pr(string,string,int,string);
0
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
24.04.2020, 20:20 3
Цитата Сообщение от BroodTax Посмотреть сообщение
из "int" в "std::string"
Цитата Сообщение от BroodTax Посмотреть сообщение
ругается на fBuff
Причем тут fBuff, который и так имеет тип std::string, если
Цитата Сообщение от BroodTax Посмотреть сообщение
выдает ошибку C2664: невозможно преобразовать аргумент 3
который называется kBuff и имеет тип int?
0
0 / 0 / 0
Регистрация: 24.04.2020
Сообщений: 11
24.04.2020, 20:21  [ТС] 4
Ругается именно на fBuff
0
Вездепух
Эксперт CЭксперт С++
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,057
24.04.2020, 20:24 5
Цитата Сообщение от BroodTax Посмотреть сообщение
Ругается именно на fBuff
С чего вы взяли? Нет, ругается именно на kBuff.
0
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
24.04.2020, 20:25 6
BroodTax, код конструктора покажите.
0
0 / 0 / 0
Регистрация: 24.04.2020
Сообщений: 11
24.04.2020, 20:28  [ТС] 7
возможно не fBuff. Так в чем ошибка?

Добавлено через 1 минуту
class pr {
public:
pr() {};
pr(string f, string v, string fa, int y) : familya(f), vuz(v), faculty(fa) {};

string getfamilya() { return familya; }
string getvuz() { return vuz; }
int getkurs() { return kurs; }
string getfaculty() { return faculty; }



void setArtibutes(string f, string v, int k, string fa) {
familya = f;
vuz = v;
kurs = k;
faculty = fa;
}

private:
string familya = "familya";
string vuz = "vuz";
int kurs = 1;
string faculty = "faculty";
};

void input_inf(pr PrArr[]);
int menu(pr PrArr[]);
void output_inf(pr PrArr[]);
void output_result(pr PrArr[]);
void change_inf(pr PrArr[]);

Добавлено через 1 минуту
Кинул код
0
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
24.04.2020, 20:31 8
Лучший ответ Сообщение было отмечено BroodTax как решение

Решение

Цитата Сообщение от BroodTax Посмотреть сообщение
pr(string f, string v, string fa, int y)
Порядок аргументов: string, string, string, int
Цитата Сообщение от BroodTax Посмотреть сообщение
pr p( fBuff, vBuff, kBuff, faBuff)
А тут: string, string, int, string
В этом и ошибка. Аргументы соответствующих типов должны находиться на своих местах, а не где попало.
0
0 / 0 / 0
Регистрация: 24.04.2020
Сообщений: 11
24.04.2020, 20:32  [ТС] 9
Уже понял и исправил, спасибо
0
Вездепух
Эксперт CЭксперт С++
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,057
24.04.2020, 20:34 10
Цитата Сообщение от BroodTax Посмотреть сообщение
Так в чем ошибка?
Вам уже ясно объяснили, в чем ошибка.

Теперь уже у вас нужно спрашивать: чего вы пытались достичь, передавая int туда, где требуется std::string?
0
24.04.2020, 20:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2020, 20:34
Помогаю со студенческими работами здесь

Ошибка: невозможно преобразовать аргумент 1 из int** в int [][1000]
Помогите. Уже плавит, но хочу доделать( Ошибка: невозможно преобразовать аргумент 1 из int** в int ...

Ошибка невозможно преобразовать аргумент
Вот код. При нажатии кнопки, должен выводиться в fileListBox1 запущенные процессы. Но выдает...

Ошибка:невозможно преобразовать параметр 1 из 'int' в 'System::String ^'
Здравствуйте. У меня такая проблема. Я только начал изучать C++ и решил создать секундомер....

Ошибка: невозможно неявно преобразовать тип 'string' в 'int'
Ошибка: cannot implicitly convert type 'string' to 'int' // Ошибка: невозможно неявно...

Невозможно преобразовать аргумент 1 из myiter в int
.std::pair&lt;myiter,bool&gt; DDP::insert(int,myiter): невозможно преобразовать аргумент 1 из myiter в...


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

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