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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2012, 13:50   #1
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию vector error

Код:
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;

int main()
{
	ifstream input("File.txt");
	vector<char> vecArray;
	char nVarFileRead = NULL;
	while((nVarFileRead = input.get()) != -1)
		vecArray.push_back(nVarFileRead);
	for(int i = 0; i < vecArray.size(); i++)
		cout << vecArray[i];
	cout << endl;
	system("PAUSE");
	return 0;
}
При компиляции кода вылезает предупреждение:
c:\documents and settings\admin\мои документы\visual studio 2010\projects\cmd_1_2010\cmd_1_2010 \cmd_1_2010.cpp(14): warning C4018: <: несоответствие типов со знаком и без знака

При этом программа запускается и работает как надо
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.

Последний раз редактировалось kineziz; 02.05.2012 в 13:58.
kineziz вне форума Ответить с цитированием
Старый 02.05.2012, 14:17   #2
KATbIK
 
Регистрация: 31.07.2011
Сообщений: 4
По умолчанию

Нормально все, просто int < unsigned int (несоответствие типов со знаком и без знака)
KATbIK вне форума Ответить с цитированием
Старый 02.05.2012, 14:19   #3
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Ну это не ошибка, а предупреждение.
vecArray.size() возвращает беззнаковый тип данных.
Поэтому лучше так:
Код:
for(size_t i = 0; i < vecArray.size(); i++)
EUGY вне форума Ответить с цитированием
Старый 02.05.2012, 14:21   #4
artush1984
Форумчанин
 
Аватар для artush1984
 
Регистрация: 27.04.2009
Сообщений: 184
По умолчанию

Цитата:
При компиляции кода вылезает предупреждение:
c:\documents and settings\admin\мои документы\visual studio 2010\projects\cmd_1_2010\cmd_1_2010 \cmd_1_2010.cpp(14): warning C4018: <: несоответствие типов со знаком и без знака
А вы это сообшение хотя бы читали ?
Тут же всё написанно ! на 14 ой строке это у вас
Код:
for(int i = 0; i < vecArray.size(); i++)

i у вас int ( со знаком )
а vecArray.size() он unsigned int (без знака)
просто перед int напишите unsigned
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
artush1984 вне форума Ответить с цитированием
Старый 02.05.2012, 20:28   #5
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Спасибо. Тупанул
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Parse error: syntax error, unexpected ';', expecting T_FUNCTION avduevsky PHP 5 21.09.2011 13:56
Периодическая ошибка Run-time error -2147417848 (80010108) Automation error в файле с макросом faraviper Microsoft Office Excel 0 24.02.2011 16:23
классы - Error 3 error C2228: left of '.BlockAll' must have class/struct/union c:\documents and settings\ Dimarik Visual C++ 1 08.02.2011 15:16
Ищу причину ошибки: Error in loading DLL, она же Error 48. hozpraktik Microsoft Office Excel 1 19.11.2009 12:39