
Well, the namespace idea won't work either. There's certain details I omitted because I wasn't sure if they would be directly related to the issue. However I'll go ahead and elaborate now. I plan to specialize the struct containing the float to determine what 'value' I want. For example: template< typename T > struct default_alpha; template<> struct default_alpha<float> { static const float alpha = 1.0f; }; template<> struct default_alpha<unsigned char> { static const unsigned char = 255; }; So, if I have a 'color' class that takes a template parameter, like below, I can use the above specialized structures to figure out how to default initialize the 'a' construction parameter. template< typename T > class Color { Color( T r, T g, T b, T a = default_alpha<T>::value ); }; Again, I wasn't sure if these new details were required from the very beginning. Apologies for this. Thank you for everyone's continued help. On Dec 11, 2007 1:14 AM, Roman Perepelitsa <roman.perepelitsa@db.com> wrote:
Robert Dailey <rcdailey <at> gmail.com> writes:
I'm going to be using this float to default-initialize a construction parameter. For example: struct default_alpha { static const float value = 1.0f; }; class foo { foo( float r, float g, float b, float a = default_alpha::value ); };
You can use constant in namespace scope:
namespace default_alpha { static const float value = 1.0f; }
HTH, Roman Perepelitsa.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users