SORU
15 Aralık 2009, Salı


uyarı C4003 ve hataları C2589 ve C2059: x = std::numeric_limits<int>::max();

Bu çizgi doğru küçük bir test programı çalışıyor, ancak istediğim program, derleyici şikayetler alıyorum:

#include <limits>

x = std::numeric_limits<int>::max();

c:\...\x.cpp(192) : warning C4003: not enough actual parameters for macro 'max'
c:\...\x.cpp(192) : error C2589: '(' : illegal token on right side of '::'
c:\...\x.cpp(192) : error C2059: syntax error : '::'

İle aynı sonuçları alıyorum:

#include <limits>
using namespace std;

x = numeric_limits<int>::max();

Neden makro max(a,b) max görüyorsun; ?

CEVAP
26 Kasım 2012, PAZARTESİ


Çözüm bu gibi parantez ile işlev adı kaydırmak olacaktır: * * * 4*. Aynı durum 5**.

Emin değilim bunun için iyi bir çözüm... NOMİNMAX daha iyi IMO, ama bu bazı durumlarda bir seçenek olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MrMimoB

    MrMimoB

    11 NİSAN 2011
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013
  • Wild Academy

    Wild Academy

    8 Aralık 2009