|
Archives
D Programming
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript |
c++ - template bug
template <class T>
struct N
{ };
template <class T>
struct L
{
~L()
{
int i = sizeof(N<T>);
}
};
template <typename T> inline void checked_delete(T * x)
{
typedef char type_must_be_complete[sizeof(T)];
delete x;
}
template<typename T>
struct S
{
public:
template<typename Y> void f(Y y)
{
checked_delete<T>((T *) 0);
}
};
struct A
{
void f();
void g();
};
inline void A::f()
{
S<L<int> > i;
i.f(0);
}
// Error: ';' expected following '}' of definition of class 'N<int >'
inline void A::g()
{ }
int main()
{
A a;
a.f();
return 0;
}
Occurs when trying to compile Boost's signals library. Workaround is to add
the "missing" ';'.
BTW, should these bug reports be posted here or in c++.beta?
bye, Christof
--
http://cmeerw.org JID: cmeerw jabber.at
mailto cmeerw at web.de
...and what have you contributed to the Net?
Jan 09 2003
"Christof Meerwald" <cmeerw web.de> wrote in message news:avjt6h$1k7h$1 digitaldaemon.com...BTW, should these bug reports be posted here or in c++.beta? Jan 09 2003
|