I'm trying to use stdint.h after seeing it mentioned here the other
day. Using g++ under fedora.
I have the following line:
uint8_t Team::min_earliest_round = UINT8_MAX;
uint8_t is fine but UINT8_MAX is "not declared in this scope". If I
replace UINT8_MAX with 255 the program compiles cleanly.
The stdint.h header file contains:
145 /* The ISO C99 standard specifies that in C++ implementations these
146 macros should only be defined if explicitly requested. */
147 #if !defined __cplusplus || defined __STDC_LIMIT_MACROS
148
149 # if __WORDSIZE == 64
150 # define __INT64_C(c) c ## L
151 # define __UINT64_C(c) c ## UL
152 # else
153 # define __INT64_C(c) c ## LL
154 # define __UINT64_C(c) c ## ULL
155 # endif
156
157 /* Limits of integral types. */
158
159 /* Minimum of signed integral types. */
160 # define INT8_MIN (-128)
161 # define INT16_MIN (-32767-1)
162 # define INT32_MIN (-2147483647-1)
163 # define INT64_MIN (-__INT64_C(9223372036854775807)-1)
164 /* Maximum of signed integral types. */
165 # define INT8_MAX (127)
166 # define INT16_MAX (32767)
I presume I need to define something to cause line 165 to be active,
but I'm not sure what, where or how.
Steve
--
(o< www.stevesearle.com
//\ Powered by Fedora
V_/_ No MS products were used in the creation of this message
20:09:32 up 38 days, 21:00, 1 user, load average: 0.29, 0.13, 0.04