#include // includes WinDef.h which defines min() max()
#include
using std::cin;
using std::cout;
void Foo()
{
int delay = 0;
do
{
if(cin.fail())
{
cin.clear();
cin.ignore(std::numeric_limits::max(), '\n');
}
cout > delay) || delay == 0);
}
< /code>
, что дает мне ошибку в Windows, заявляя, что макрос Max < /code> не принимает столько аргументов. Это означает, что я должен сделать это < /p>
do
{
if(cin.fail())
{
cin.clear();
#undef max
cin.ignore(std::numeric_limits::max(), '\n');
}
cout > delay) || delay == 0);
< /code>
, чтобы заставить его работать. Это довольно уродливо; Есть ли лучший способ обойти эту проблему? Может быть, я должен хранить определение максимума
Итак, я пытался получить действительный целочисленный ввод от CIN и использовал ответ на этот вопрос.[code]#include // includes WinDef.h which defines min() max() #include using std::cin; using std::cout;
, что дает мне ошибку в Windows, заявляя, что макрос Max < /code> не принимает столько аргументов. Это означает, что я должен сделать это < /p>
do { if(cin.fail()) { cin.clear(); #undef max cin.ignore(std::numeric_limits::max(), '\n'); } cout > delay) || delay == 0); < /code>
, чтобы заставить его работать. Это довольно уродливо; Есть ли лучший способ обойти эту проблему? Может быть, я должен хранить определение максимума [/code] и переопределить его потом?
Итак, я пытался получить действительный целочисленный ввод от CIN и использовал ответ на этот вопрос. #include // includes WinDef.h which defines min() max()
#include
using std::cin;
using std::cout;
MSVC и GCC интерпретируют следующий код одинаково. STD :: Streampos может быть построена только из Std :: Streamoff , в то время как подписан std :: streamoff . Таким образом, оба компилятора интерпретируют максимальное значение size_t как -1 . Мне...
Некоторые реализации векторов (например, используют 1 бит на бит (в отличие от 8 бит, как в старом std::vector).
Новое В черновиках C++ также есть такие вещи, как std::bitset ( ).
Содержит ли новый черновик C++ разрешить std::map (2-битное значение)...
То, что я имею в виду, обычно решается с помощью перечисления:
enum AddrFam { af_unspec, af_inet, af_inet6 };
void myfunc(AddrFam) {}
void myfunc(int) {}