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

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

Войти
Регистрация
Восстановить пароль
 
schanker
5 / 5 / 0
Регистрация: 16.04.2010
Сообщений: 248
Записей в блоге: 1
#1

Ошибка с оператором для "==" - C++

14.04.2013, 21:41. Просмотров 335. Ответов 9
Метки нет (Все метки)

Писал код и вышла ошибка: "Ошибка 2 error C2679: бинарный "==": не найден оператор, принимающий правый операнд типа "std::string" (или приемлемое преобразование отсутствует)"
Какой оператор я должен подключить??
вот сам код,
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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <string>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{setlocale(LC_ALL,"Russian");
int i,n;
char* c[34];
string s;
string a[34]={"xxxxx","xxxxy","xxxyx","xxxyy","xxyxx","xxyxy",
"xxyyx","xxyyy","xyxxx","xyxxx","xyxxy","xyxyx","xyxyy",
"xyyxx","xyyxy","xyyyx","xyyyy","yxxxx","yxxxy","yxxyx",
"yxxyy","yxyxx","yxyxy","yxyyx","yxyyy","yyxxx","yyxxx",
"yyxxy","yyxyx","yyxyy","yyyxx","yyyxy","yyyyx","yyyyy"};
string b[34]={"01","02","03","04","05","06","07","08","09",
"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"};
 
cout << "Введите текст из x,y кратно 5!" << endl;
cin  >> s ;
if ((s.length()%5)==0)
{cout << "код шифра зачения "<<s<<" := " ;
 
for (i=s.length()>0;i=(i-5);)
        {   s.copy(c[n],5,i=+5);
            n++;
        }
for (n=(n-1);n>=0;n--)
    {
        for (i=0;i<34;i++)
        {if (c==(a[i]))......................вот это строка
        cout<<b[i]<<endl;
        }
    }
}
else {cout<<"Введите слово кратно 5!!!";}
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 21:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка с оператором для "==" (C++):

Компилятор визуаль студио 2008 с++,выскакивает ошибка с оператором вывода "<< " - C++
#include&lt;iostream&gt; using namespace std; int main(){ int s; cout&lt;&lt;&quot;wwesti cislo: \n&quot;; cin&gt;&gt;s; int zxc; ...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Ошибка Необработанное исключение в "0x001d18f8" в "lr7v2.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdcdcde9" - C++
class Hdd { public: char Hdd_name; int total_space; int free_space; int speed; Hdd *next; Hdd *previous; };

Ошибка при компиляции:"C2955 "Tree": для использования класс шаблон требуется список аргументов шаблон" - C++
Есть класс бинарного дерева, в нем структура. Класс - Tree, структура - list(листик, а не список). При компиляции выдает...

Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" - C++
кто то напишите пожалуйста, вот программа: наследуемым классом для комплексного числа объявить класс &quot;радиус-вектор&quot;, имеющий данные...

Через ООП: Дать для числа наименование: "рубль", "рубля", "рублей"; - C++
Помогите пожалуйста с задачей. Могу сделать ее просто, но надо через ООП и у меня не получается. Дано натуральное число N (N&lt;20),...

9
Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
14.04.2013, 21:43 #2
может вам не сравнение(==) надо а присвоение тогда просто =
0
schanker
5 / 5 / 0
Регистрация: 16.04.2010
Сообщений: 248
Записей в блоге: 1
14.04.2013, 21:44  [ТС] #3
Пробовал. Тогда "Ошибка 2 error C2440: =: невозможно преобразовать "std::string" в "char *[34]"
"
0
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
14.04.2013, 21:44 #4
C++
1
int strcmp(const char *str1, const char *str2);
тебе в помощь))
0
cygwin
1 / 1 / 0
Регистрация: 10.04.2013
Сообщений: 17
14.04.2013, 21:45 #5
C++
1
if (std::string(c) ==(a[i]))......................вот это строка
Попробуйте вот так
0
schanker
5 / 5 / 0
Регистрация: 16.04.2010
Сообщений: 248
Записей в блоге: 1
14.04.2013, 21:48  [ТС] #6
Цитата Сообщение от cygwin Посмотреть сообщение
C++
1
if (std::string(c) ==(a[i]))......................вот это строка
Попробуйте вот так
Тогда
Ошибка 2 error C2440: <function-style-cast>: невозможно преобразовать "char *[34]" в "std::string"

Добавлено через 2 минуты
Цитата Сообщение от Саня gamer Посмотреть сообщение
C++
1
int strcmp(const char *str1, const char *str2);
тебе в помощь))
Не помогает. Та же фигня с "=="
0
cygwin
1 / 1 / 0
Регистрация: 10.04.2013
Сообщений: 17
14.04.2013, 21:51 #7
Цитата Сообщение от schanker Посмотреть сообщение
Тогда
Ошибка 2 error C2440: <function-style-cast>: невозможно преобразовать "char *[34]" в "std::string"
У вас с типа char **
C++
1
if (c==(a[i]))
Вы уверены, что именно это имеете ввиду сравнимая char ** (указатель на указатель на символьный тип) с типом string?
Возможно вам нужно что-то вроде
C++
1
if (std::string(c[n]) == a[i])
?
0
schanker
5 / 5 / 0
Регистрация: 16.04.2010
Сообщений: 248
Записей в блоге: 1
14.04.2013, 22:06  [ТС] #8
Но через через code bloks она идет. Решил переделать под визуал=(
и вот мучаюсь.
0
cygwin
1 / 1 / 0
Регистрация: 10.04.2013
Сообщений: 17
14.04.2013, 22:09 #9
Цитата Сообщение от schanker Посмотреть сообщение
Но через через code bloks она идет. Решил переделать под визуал=(
и вот мучаюсь.
Она у вас никак не может идти, по крайней мере правильно. Ибо вы сравниваете char ** и string что есть абсурд.
0
zer0mail
2343 / 1973 / 193
Регистрация: 03.07.2012
Сообщений: 7,094
Записей в блоге: 1
14.04.2013, 22:28 #10
Да... - не любит компилятор сравнения указателя и символа
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2013, 22:28
Привет! Вот еще темы с ответами:

Ошибка при сборке многофайлового проекта: "невозможно преобразовать "int" в "const golf" - C++
Сделал многофайловую программу программу, вот она: //golf.h #include &lt;iostream&gt; #ifndef golg_h_ #define golf_h_ const int Len =...

Где ошибка невозможно преобразовать указатель "this" из "const pers" в "pers &" при выводе объектов через cout - C++
Добрый день! Переписал код из книг Лафоре, создание мультимножества из собственных объектов- справочник телефонный, с именем и фамилией. ...

Паттерн "Одиночка" и конструктор копии с оператором присваивания - C++
Здравствуйте! Подскажите пожалуйста с вопросом. Мне необходимо реализовать паттерн &quot;Одиночка&quot;. Необходимо ли перегружать конструктор...

Непонятки с оператором "delete" У меня изумление. Крашится программа (Qt5.5) Win 8 - C++
Я никак не могу найти ошибку, из-за которой срабатывание операторы delete приводит к крашу программы. Я пытался отыскать проблему в том,...


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

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
14.04.2013, 22:28
Ответ Создать тему
Опции темы

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