$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: dp11229 (dpodbori_at_[hidden])
Date: 2002-01-24 13:13:52
Hi, 
I just wanted to point out to what looks like a bug in 
<http://www.boost.org/libs/thread/doc/thread.html#Example>
In the code 
int main()
{
   int secs = 5;
   boost::thread thrd(thread_alarm( secs )); 
   thrd.join();                
}
The line 
boost::thread thrd(thread_alarm( secs ));
looks like a function declaration to the compiler, as if it was 
written 
boost::thread thrd( thread_alarm secs );
and not an object construction. Correspondingly, the compiler issues 
a counter-intuitive message similar to (on GCC) 
"Cannot call a method 'join' on thrd which is of non-agregate type 
boost::thread ()(alarm)"
A simple way to fix it is to remove the ambiguity by declaring alarm 
as a named object, i.e.
int main()
{
   int secs = 5;
   thread_alarm alrm( secs );
   boost::thread thrd( alrm ); 
   thrd.join();                
}
Best regards,
Dmitry