uint_t<bits>::value where bits is a template parameter fails to compile

Dear All,
I am having trouble using the integer library. The following fails
to compile:
#include

typedef typename boost::uint_t<bits>::least t;
Will work.
Kobi.
On 7/7/06, Phil Endecott
Dear All,
I am having trouble using the integer library. The following fails to compile:
#include
template <int bits> void fn(void) { //typedef boost::uint_t<8>::least t; typedef boost::uint_t<bits>::least t; t var; }
int main(int argc, char* argv) { fn<8>(); }
With g++ 4.0.0 on Linux and Boost 1.32, I get:
boost_int_test.cc: In function ‘void fn()’: boost_int_test.cc:7: error: expected initializer before ‘t’ boost_int_test.cc:8: error: ‘t’ was not declared in this scope boost_int_test.cc:8: error: expected `;' before ‘var’
The problem seems to occur when I use a template parameter - "bits" in this case - as the template parameter to uint_t. If I use a constant (as in the commented-out line) it works.
Is this a C++ feature, or a bug somewhere? Can anyone suggest a workaround?
Thanks,
Phil.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- - Kobi
participants (2)
-
Kobi Cohen-Arazi
-
Phil Endecott