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

выпросы по работе со строками - C++

Восстановить пароль Регистрация
 
nic2009nik
1 / 1 / 0
Регистрация: 21.10.2012
Сообщений: 34
06.11.2012, 21:50     выпросы по работе со строками #1
никак не могу понять, в чем ошибка. пытаюсь сравнить строки:
отсутствует оператор "==", соответствующий этим операндам;
Ошибка 1 error C2678: бинарный "==": не найден оператор, принимающий левый операнд типа "std::string" (или приемлемое преобразование отсутствует)


int getnumstr(string name){
int i;
for(i=0; i<counter; i++)
if (arr[i].name==name)
return i;
return(0);}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.11.2012, 22:00     выпросы по работе со строками #2
Цитата Сообщение от nic2009nik Посмотреть сообщение
arr
Покажите объявление.
BF_KARATEL
 Аватар для BF_KARATEL
11 / 11 / 0
Регистрация: 01.06.2012
Сообщений: 114
06.11.2012, 22:02     выпросы по работе со строками #3
попробуйте наоборот тогда если == не работает !=
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
06.11.2012, 22:04     выпросы по работе со строками #4
Если в структуре или классе name у вас как массив char*, то работать не будет .Использйте string.
nic2009nik
1 / 1 / 0
Регистрация: 21.10.2012
Сообщений: 34
06.11.2012, 22:07  [ТС]     выпросы по работе со строками #5
arr массив типа record(структура с полями string name и int value)
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
06.11.2012, 22:08     выпросы по работе со строками #6
Цитата Сообщение от nic2009nik Посмотреть сообщение
arr массив типа record(структура с полями string name и int value)
Киньте его определние пжл. Сложно так представить.
nic2009nik
1 / 1 / 0
Регистрация: 21.10.2012
Сообщений: 34
06.11.2012, 22:08  [ТС]     выпросы по работе со строками #7
дело как раз в том, что массив char я не использую.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.11.2012, 22:09     выпросы по работе со строками #8
Цитата Сообщение от BF_KARATEL Посмотреть сообщение
попробуйте наоборот тогда если == не работает !=
А смысл? Попробуйте метод std::string::compare http://www.cplusplus.com/reference/s...tring/compare/

Добавлено через 30 секунд
Цитата Сообщение от nic2009nik Посмотреть сообщение
arr массив типа record(структура с полями string name и int value)
Цитата Сообщение от go Посмотреть сообщение
Покажите объявление.
Прочтите еще раз.
nic2009nik
1 / 1 / 0
Регистрация: 21.10.2012
Сообщений: 34
06.11.2012, 22:12  [ТС]     выпросы по работе со строками #9
struct record
{friend class table;
string name;
int value;
//методы// record(string _name=0, int _value=0);
int getvalue();
void setvalue(int _value);
string getname();
};

Добавлено через 38 секунд
class table: public record
{
private:
record *arr;
int size;
int counter;
int isfull();
int isempty();
int getnumstr(string name);
public:
table(int _size);
table(table &copy);
table operator=(table &copy);
void addelem(record elem);
int getvalue(string name);
void deleteelem(string name);
//bool operator==(const char*str1);
};

Добавлено через 58 секунд
я новичок, так что не судите строго)
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.11.2012, 22:12     выпросы по работе со строками #10
nic2009nik, пробовали
Цитата Сообщение от go Посмотреть сообщение
Попробуйте метод std::string::compare http://www.cplusplus.com/reference/s...tring/compare/
nic2009nik
1 / 1 / 0
Регистрация: 21.10.2012
Сообщений: 34
06.11.2012, 22:18  [ТС]     выпросы по работе со строками #11
все разрешилось) спс.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2012, 22:20     выпросы по работе со строками
Еще ссылки по теме:

C++ Ошибки при работе со строками char*
Нужно исправить ошибки в програме по работе со строками C++
Исправление ошибки в работе со строками C++

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

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.11.2012, 22:20     выпросы по работе со строками #12
Цитата Сообщение от nic2009nik Посмотреть сообщение
все разрешилось) спс.
Для строк определены
std::comparison operators
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
bool operator== ( const string& lhs, const string& rhs );
bool operator== ( const char* lhs, const string& rhs );
bool operator== ( const string& lhs, const char* rhs );
 
bool operator!= ( const string& lhs, const string& rhs );
bool operator!= ( const char* lhs, const string& rhs );
bool operator!= ( const string& lhs, const char* rhs );
 
bool operator< ( const string& lhs, const string& rhs );
bool operator< ( const char* lhs, const string& rhs );
bool operator< ( const string& lhs, const char* rhs );
 
bool operator> ( const string& lhs, const string& rhs );
bool operator> ( const char* lhs, const string& rhs );
bool operator> ( const string& lhs, const char* rhs );
 
bool operator<= ( const string& lhs, const string& rhs );
bool operator<= ( const char* lhs, const string& rhs );
bool operator<= ( const string& lhs, const char* rhs );
 
bool operator>= ( const string& lhs, const string& rhs );
bool operator>= ( const char* lhs, const string& rhs );
bool operator>= ( const string& lhs, const char* rhs );
Возможно, Вы их где-то переопределили.
Yandex
Объявления
06.11.2012, 22:20     выпросы по работе со строками
Ответ Создать тему
Опции темы

Текущее время: 02:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru