Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2018, 12:00   #1
Roberttt
Пользователь
 
Регистрация: 30.05.2018
Сообщений: 56
Восклицание Ошибка

Здравствуйте, нужна помощь в устранении ошибки. Заранее благодарю

Код:
#include "stdafx.h"
#include"cstdlib"
#include<fstream>
#include<iostream>
#include<vector>
#include<string>
#include<iterator>

using namespace std;


int main()
{ 
	string word;
	setlocale(LC_ALL, "Russian");

	vector<string> text;
	ifstream file("C://123.txt");
	if (file.is_open()) {
		for (string str; getline(file, str);)
			text.push_back(move(str));
	}
	else {
		cout << "Ой!" << endl;
	}
	if (text.empty()) 
		cout << "Пустой!"<< endl;
	else
	{
	
		cout << "Ввод:" << endl;
		getline(cin, word);
	}

	vector<string>::iterator itr;
	for (itr = text.begin(); itr != text.end(); itr++) { 
		if (itr != word) {                 // ругается на !=
			cout << itr << endl;   // и на <<
		}
	}
     
	system("pause");
    return 0;
}
Roberttt вне форума Ответить с цитированием
Старый 03.06.2018, 12:11   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Разыменовывать итератор надо
Код:
		if (*itr != word) {
			cout << *itr << endl;
		}
Цитата:
Сообщение от Roberttt Посмотреть сообщение
ругается
Вот не могу понять, какая сила мешает привести текст ошибки..
Black Fregat вне форума Ответить с цитированием
Старый 03.06.2018, 12:17   #3
Roberttt
Пользователь
 
Регистрация: 30.05.2018
Сообщений: 56
По умолчанию

Ошибка (активно) отсутствует оператор "!=", соответствующий этим операндам K13 c:\\K13.cpp 40
Ошибка (активно) отсутствует оператор "<<", соответствующий этим операндам K13 c:\K13.cpp 41
Ошибка C2678 бинарный "!=": не найден оператор, принимающий левый операнд типа "std::_Vector_iterator<std::_Vector _val<std::_Simple_types<std::basic_ string<char,std::char_traits<char>, std::allocator<char>>>>>" (или приемлемое преобразование отсутствует) K13 c:\\k13.cpp 40
Ошибка C2679 бинарный "<<": не найден оператор, принимающий правый операнд типа "std::_Vector_iterator<std::_Vector _val<std::_Simple_types<std::basic_ string<char,std::char_traits<char>, std::allocator<char>>>>>" (или приемлемое преобразование отсутствует) K13 c:\\k13.cpp 41
Roberttt вне форума Ответить с цитированием
Старый 03.06.2018, 12:48   #4
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Вам же ответили, в обоих случаях, где ругается, вас интересует значение текста, а не сам итератор, т.е. нужно писать

Код:
*itr
alexzk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[РЕШЕНО] Помогите в чем может быть ошибка? Ошибка ';' expected but 'BEGIN' found АлександрDelphi Общие вопросы Delphi 7 06.03.2016 19:25
Java. Ошибка. Компилируется, но не запускается. Ошибка duplicate class. Проблема не в коде. nevender Общие вопросы по Java, Java SE, Kotlin 2 13.02.2016 13:24
Где ошибка в этом исходном коде на языке Си? Или ошибка в Excel? ArchiCurtis Помощь студентам 2 07.04.2012 14:16
Ошибка run-time Error 1004 общая ошибка ODBC kaval88 Microsoft Office Excel 0 27.02.2011 20:20
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58