Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
mrzhnex
0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 53
1

String и IF

25.10.2016, 23:19. Просмотров 709. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main()
{
    setlocale(LC_ALL, "rus");
    int a;
    a = rand() % 10;
    cout << "Я загадал число от 0 до 10. Отгадай это число\n";
    string names;
    cin >> names;
    if (names == a)
    {
        cout << "Вы выиграли!\n";
        Sleep(2000);
        exit(0);
    }
    else
        cout << "Не верно.\n";
 
 
 
 
}
Компилятор выдает ошибку:
1>c:\users\саша\documents\visual studio 2015\projects\consoleapplication2\consoleapplication2\source.cpp(11): error C2678: бинарный "==": не найден оператор, принимающий левый операнд типа "std::string" (или приемлемое преобразование отсутствует)
1> c:\program files (x86)\windows kits\8.1\include\um\propkeydef.h(35): note: может быть "int operator ==(const PROPERTYKEY &,const PROPERTYKEY &)"
1> c:\program files (x86)\windows kits\8.1\include\shared\guiddef.h(192): note: или "bool operator ==(const GUID &,const GUID &)"
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\system_error(389): note: или "bool std::operator ==(const std::error_condition &,const std::error_condition &) noexcept"
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\system_error(381): note: или "bool std::operator ==(const std::error_condition &,const std::error_code &) noexcept"
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\system_error(373): note: или "bool std::operator ==(const std::error_code &,const std::error_condition &) noexcept"
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\system_error(365): note: или "bool std::operator ==(const std::error_code &,const std::error_code &) noexcept"
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\exception(339): note: или "bool std::operator ==(const std::exception_ptr &,std::nullptr_t) throw()"
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\exception(334): note: или "bool std::operator ==(std::nullptr_t,const std::exception_ptr &) throw()"
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\exception(329): note: или "bool std::operator ==(const std::exception_ptr &,const std::exception_ptr &) throw()"
1> c:\users\саша\documents\visual studio 2015\projects\consoleapplication2\consoleapplication2\source.cpp(11): note: при попытке сопоставить список аргументов "(std::string, int)"




В самом коде он красным подчеркивает данную строчку (а именно "=="):
C++
1
if (names == a)
Не понятно, почему ругается на тип данных
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2016, 23:19
Ответы с готовыми решениями:

Доступ к паре в map<string, vector<pair<string, string>>>Temp
Подскажите пожалуйста как получить данные в векторе пар ? void showData(const map&lt;string,...

Какое одинаковое значение можно вернуть из функций <string> f () и vector < <string> > f()?
Понятное дело, что всё обсуждение будет вертеться вокруг аналога NULL. char* f_0 () { return...

Как преобразовать char* в string и вывести переменную string на экран?
for (int k = 0; k &lt; 10; k++) { int x = (int)rand() / RAND_MAX + rand() % 6 + 2; ...

Как используя C-String а потом и String class варьировать вывод?
Дана задача: при вводе полного И.О.Ф. (в таком порядке) выводить Ф, И и О(только первую букву и...

Как перебрать все элементы в map<string, vector<string>>
Доброго времени суток. Решаю следующую задачу: В файле есть сведения об автомобилях: марка...

2
DU3
281 / 233 / 114
Регистрация: 07.09.2016
Сообщений: 587
25.10.2016, 23:24 2
вы пытаетесь сравнить типа типa std::string c переменной типа int. стандартного оператора такого сравнения нет. либо надо написать такой самому, либо привести эти переменные к общему типу. например names == std::to_string(a) проканает.
но проще в вашем случае не std::string names, а int names = 0; далее без изменений должно скомпилится.
0
mrzhnex
0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 53
25.10.2016, 23:35  [ТС] 3
Спасибо, ваш совет очень мне помог.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2016, 23:35

Ошибка при присвоении argv[1] переменной string. Как конвертировать к типу string?
&quot;call of an object of a class type without appropriate operator() or conversion functions to...

Где и почему используют ту или иную строку std::string, char[], System::String^ ?
Где и почему используют ту или иную строку std::string, char, System::String^ ? Объясните...

Есть ли аналог Map <String,String> чтобы передавать его как указатель на данные?
Добрый день, подскажите, есть ли аналог Map &lt;String,String&gt; чтобы передавать его как указатель на...


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

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

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