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

Не компилирует max в cin.ignore(numeric_limits<streamsize>::max(),'\n') - C++

Восстановить пароль Регистрация
 
Nullik
 Аватар для Nullik
43 / 12 / 1
Регистрация: 13.03.2013
Сообщений: 297
Завершенные тесты: 1
04.10.2013, 12:54     Не компилирует max в cin.ignore(numeric_limits<streamsize>::max(),'\n') #1
Компилятор MSVS 2010, проблема с max, как мне это устранить?

использовала define, но либо я не там ставила (и библиотеки тоже), либо что-то всё очень плохо.

Пример моего кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <limits> // для использования numeric_limits - числовых пределов
#include <Windows.h>
#include <iostream>
#include <string>
#include <iomanip>
 
using namespace std;
 
int main()
{
    setlocale(0,"");
    string strr; 
    (cin >> strr).get();
    //cin.clear();
    cin.ignore(numeric_limits<streamsize>max(),'\n');
    cin.get();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2013, 12:54     Не компилирует max в cin.ignore(numeric_limits<streamsize>::max(),'\n')
Посмотрите здесь:

C++ Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max())
C++ Даны действительные числа a,b,c. Получить: max(a,a+b) + max (a,b+c) ...
cin.ignore C++
cin.getline и cin.ignore C++
Определить значение Z=max(a,2b)*max(2a-b,b), где max(x,y)-максимальное из чисел x,y C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,915
Записей в блоге: 2
Завершенные тесты: 1
04.10.2013, 12:58     Не компилирует max в cin.ignore(numeric_limits<streamsize>::max(),'\n') #2
C++
1
numeric_limits<streamsize>::max()
Nullik
 Аватар для Nullik
43 / 12 / 1
Регистрация: 13.03.2013
Сообщений: 297
Завершенные тесты: 1
04.10.2013, 13:12  [ТС]     Не компилирует max в cin.ignore(numeric_limits<streamsize>::max(),'\n') #3
Croessmah, а куда мне это нужно писать?

ааа, пробовала так - так тоже не прокатило.

Добавлено через 10 минут
всё, нашла решение проблемы! Спасибо Croessmah!


корректный код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <limits> // для использования numeric_limits - числовых пределов
#include <Windows.h>
#include <iostream>
#include <string>
#include <iomanip>
 
using namespace std;
 
#if defined(max)
#undef max
#endif
 
int main()
{
    setlocale(0,"");
    string strr; 
    (cin >> strr).get();
    cin.clear();
    cin.ignore(numeric_limits<streamsize>::max(),'\n');
    cin.get();
    return 0;
}
Добавлено через 31 секунду
проблема была из-за max, который есть и в #include <Windows.h>
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
04.10.2013, 13:53     Не компилирует max в cin.ignore(numeric_limits<streamsize>::max(),'\n') #4
del
Yandex
Объявления
04.10.2013, 13:53     Не компилирует max в cin.ignore(numeric_limits<streamsize>::max(),'\n')
Ответ Создать тему
Опции темы

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