c++ - Is this a bug or this the code wrong?
- =?ISO-8859-1?Q?=22Sz=2E_Horv=E1t=22?= (21/21) Apr 20 2007 I tried to compile a program, which I normally use with gcc, using dmc.
- =?ISO-8859-1?Q?=22Sz=2E_Horv=E1t=22?= (2/2) Apr 20 2007 I forgot to mention that this problem exists with both dmc 8.49 and the
- =?ISO-8859-1?Q?=22Sz=2E_Horv=E1t=22?= (1/1) Apr 22 2007 Anyone?
- Bertel Brander (8/32) Apr 22 2007 I think it's a bug in the compiler, your code seems fine.
I tried to compile a program, which I normally use with gcc, using dmc.
It compiles with gcc, but dmc gives a strange error message.
Here is a reduced test case:
template<typename T> class arr { T x; };
template<void (*D)(const arr<double>)> class ode { };
void fun(const arr<double>) { }
int main() {
ode<fun> odeInst;
return 0;
}
Is the code wrong or is this a bug in dmc? The error message is:
ode<fun> odeInst;
^
sim.cpp(9) : Error: need explicit cast to convert
from: void (*C func)(const arr<double >)
to : void (*C func)(const arr<double >)
--- errorlevel 1
If I remove the const or change arr<double> to double *, the error
message disappears.
Thanks for your help in advance,
Szabolcs
Apr 20 2007
I forgot to mention that this problem exists with both dmc 8.49 and the 8.50 beta.
Apr 20 2007
Sz. Horvát skrev:
I tried to compile a program, which I normally use with gcc, using dmc.
It compiles with gcc, but dmc gives a strange error message.
Here is a reduced test case:
template<typename T> class arr { T x; };
template<void (*D)(const arr<double>)> class ode { };
void fun(const arr<double>) { }
int main() {
ode<fun> odeInst;
return 0;
}
Is the code wrong or is this a bug in dmc? The error message is:
ode<fun> odeInst;
^
sim.cpp(9) : Error: need explicit cast to convert
from: void (*C func)(const arr<double >)
to : void (*C func)(const arr<double >)
I think it's a bug in the compiler, your code seems fine.
Alone the message (convert A to A) indicates that the compiler
is in a mess.
--
Just another homepage:
http://damb.dk
But it's mine - Bertel
Apr 22 2007









=?ISO-8859-1?Q?=22Sz=2E_Horv=E1t=22?= 