Sziasztok!
Azzal talatam magam szemben, hogy az egyik kis kodban benne van az UINT_MAX, a limits.h pedig nincs beinkludolva(egy masolt kod, az eredetiben sem volt, ha minden igaz). Debian alatt szepen le is fordul, g++ 4.3.2-vel, official verzio, 32bites architectura.
Ellenben most egy ubuntu gepen kene leforditani, az mondjuk x86_64-es arch, de ugyanaz a g++, es azt mondja, hogy
"‘UINT_MAX’ was not declared in this scope"
segiteni megmaragyazni ezt valaki, miert van ez? es ki lehet e javitani, hogy forduljon ubuntu is, a kod megvaltoztatasa nelkul?
koszi,
Zsolt
- 1431 megtekintés
Hozzászólások
http://www.cyrius.com/journal/2007/05/10#gcc-4.3-include
Talán segít valamit. :/
--
A gyors gondolat többet ér, mint a gyors mozdulat.
- A hozzászóláshoz be kell jelentkezni
Miert nem valtozhat a kod?
#ifndef UINT_MAX
#include <limits.h>
#endif
amugy meg valszinu azert, mert valamelyik include-olt header nagyon melyen debian alatt meg include-olja a limits.h-t itt mar nem.
Szvsz ez mindenkepp kodban javitando hiba, az UINT_MAX hasznalatahoz include-olni KELL a limits.h-t fuggetlen attol, hogy hol lattad, hogy nem kell, es hogy hol mukodott.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Ha már C++, akkor:
#include<limits>
...
std::numeric_limits<unsigned int>::max()
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
+1
c++-ban nem hasznaljuk a makro konstansokat, kulonben porul jarunk.
Esetleg #include<climits> es akkor mukodni fog, de igy nagyon perverz.
- A hozzászóláshoz be kell jelentkezni
nagyszeru :)
de ha most ha valami 'ansi' dologra gondolok, akkor a limits.h -t includolni _kell_ ez nem opcio, vagy ajanlas... ha hasznalni akarod a benne definialtakat, akkor include.
- A hozzászóláshoz be kell jelentkezni
uint_maxot hasrautesszeruen hardcodeolni mar az almoskonyvek szerint sem jelent jo szerencset
--
When in doubt, use brute force.
- A hozzászóláshoz be kell jelentkezni
:D
--
.
- A hozzászóláshoz be kell jelentkezni
Szerintem kell.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni