[sigc] Problem with accumulator when signal depend on template parameter
- From: David Eriksson <david 2good nu>
- To: libsigc-list gnome org
- Subject: [sigc] Problem with accumulator when signal depend on template parameter
- Date: Sun, 02 Oct 2005 13:11:34 +0200
[Sorry if this gets duplicated, I tried to subscribe with my sourceforge
address as sender earlier but mails to that address does not seem to get
through at the moment.]
Hi!
I'll start with some example code, it's not much:
/* g++ `pkg-config sigc++-2.0 --cflags --libs` -o crash-gcc crash-gcc.cc */
#include <sigc++/sigc++.h>
using namespace std;
struct Accumulator
{
};
template <class T>
class MyTemplate
{
public:
typedef sigc::signal1<int, T, Accumulator> MySignalType1; // line 14
typedef sigc::signal<int, T>::accumulated<Accumulator> MySignalType; // line 16
};
int main()
{
MyTemplate<void*> myinstance; // line 21
}
When I compile with gcc (GCC) 3.3.5 (Debian 1:3.3.5-8ubuntu2):
crash-gcc.cc: In instantiation of `MyTemplate<void*>':
crash-gcc.cc:21: instantiated from here
crash-gcc.cc:16: internal compiler error: Segmentation fault
Please submit a full bug report,
When I compile with gcc-4.0 (GCC) 4.0.0 20050301 (prerelease) (Debian
4.0-0pre6ubuntu7):
crash-gcc.cc:16: error: non-template ‘accumulated’ used as template
crash-gcc.cc:16: note: use ‘sigc::signal<int, T, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::template accumulated’ to indicate that it is a template
crash-gcc.cc:16: error: type ‘sigc::signal<int, T, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>’ is not derived from type ‘MyTemplate<T>’
The suggestion on the second line from gcc 4 does not make any sense to
me, and gives even more errors if I try it.
I think that the third and last line from gcc 4 is really weird.
Am I doing something obviously wrong or is this maybe some bug/feature
with partial template specialization?
(Another small issue: the section about Marshallers in the tutorial
http://libsigc.sourceforge.net/libsigc2/docs/manual/html/ch04s03.html
could use a big sign saying it is old stuff and that accumulators are
used nowadays with libsigc++-2. Are you interested in documentation
patches if I find the time?)
--
Regards,
-\- David Eriksson -/-
SynCE - http://synce.sourceforge.net
ScummVM - http://scummvm.sourceforge.net
Desquirr - http://desquirr.sourceforge.net
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]