Opened 20 years ago
Closed 19 years ago
#136 closed Bugs (None)
operator does not work under 3.2
| Reported by: | opiate | Owned by: | nobody |
|---|---|---|---|
| Milestone: | Component: | None | |
| Version: | None | Severity: | |
| Keywords: | Cc: |
Description
g++ -I.. -I../base -g -O2 -ftemplate-depth-32 -c
Var.cc -o Var.o
/usr/include/boost/cast.hpp: In function `Target
boost::numeric_cast(Source)
[with Target = int, Source = poe::OpCode]':
Var.cc:452: instantiated from here
/usr/include/boost/cast.hpp:344: creating array with
size zero (`false')
Var.cc:519:26: warning: pasting "operator" and "+" does
not give a valid preprocessing token
Var.cc:519:26: warning: pasting "&" and "add" does not
give a valid preprocessing token
... (many more lines of warnings with different operators)
Same class compiles fine under gcc-2.95
Part of Var's header:
class Var
: boost::totally_ordered<Var>, // >, >=,
<=, etc.
boost::incrementable<Var>, // ++(Var)
boost::totally_ordered<Var, int>, // order vs
various types
boost::totally_ordered<Var, double>,
boost::totally_ordered<Var, OpCode>,
boost::totally_ordered<Var, char>,
boost::totally_ordered<Var, bool>,
boost::integer_arithmetic<Var>, // + - / * %
boost::bitwise<Var>, // & | ^
boost::shiftable<Var> // << >>
{
Change History (2)
comment:2 by , 19 years ago
| Status: | assigned → closed |
|---|
Logged In: YES user_id=52572 If you look at boost/cast.hpp, line 344, you'll see that the error you're seeing is a static assertion: it means that std::numeric_limits has to be specialized for poe::OpCode if you want to use numeric_cast on it.
Note:
See TracTickets
for help on using tickets.
