On Tue, May 09, 2006 at 02:38:10PM -0400, Stephen Gross wrote:
I just found out about the typeof feature in g++. I'm trying to use the type returned by a boost::bind invocation. Is there any way to make the following work:
=============================== struct A { int foo(); } typedef typeof(boost::bind(A::foo)) my_type; ===============================
So far, g++ just seg faults on me. Am I doing something horribly wrong, or is this (more likely) not possible in the first place?
What version of g++ is that? I tried: 2.95.2 19991024 (release) 2.95.3 20010315 (release) 2.96 20000731 (Red Hat Linux 7.3 2.96-110) 3.1 3.1.1 3.2 3.2.1 3.2.2 3.2.3 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 4.0.0 4.0.1 4.0.2 4.1.0 20051026 (experimental) None of those core. I did add a semicolon after the struct however - I assume you at least did that correct. If you also add a '&' in front of the function pointer, and add '_1' as second parameter to boost::bind, then all compiler versions compile it without errors or warnings, with the exception of g++ 3.2. (Imho, any version < 3.3.2 is too broken to support at all, but ok). -- Carlo Wood <carlo@alinoe.com>