Hi William,
To increase exposure to this, you may consider also posting this to the
Sun Studio C++ forum:
http://forums.sun.com/forum.jspa?forumID=850
There is also a sticky note about filing a bug/RFE:
http://forums.sun.com/ann.jspa?annID=30
/kso
William Fulton wrote:
> The c++ compiler does not seem to understand using statements of a template
> function in a base class as shown in the example below. I've got one
> workaround commented out. Are there any other alternative ways of using the
> 'using' statement that the compiler will understand, as my workaround is
> rather verbose and prone to error? Is this a known bug and if not, where is
> the best place to file the bug. I've tried versions 11, 12, and 12.1.
>
> William
>
> $ cat using_bug.cxx
> #include <vector>
>
> class MyVector : private std::vector<double> {
> public:
> // template <class InputIterator> void assign(InputIterator first,
> InputIterator last) { std::vector<double>::assign<InputIterator>(first,
> last); }
> using std::vector<double>::assign;
> };
>
> int main(int /*argc*/, char* /*argv*/ []) {
> MyVector retval;
> const double *begin = 0;
> const double *end = 0;
> retval.assign<const double *>(begin, end);
> return 0;
> }
>
> $ /sbcimp/run/tp/sun/SUNWspro/v12.1-20090630/bin/CC -c -mt -xlibmopt
> -Bdynamic -xO5 -library=stlport4 +w -D_SOLARIS_ -Bdynamic using_bug.cxx
> "using_bug.cxx", line 13: Error: std::vector<double>::assign<const
> double*>(const double*, const double*) is not accessible from main(int,
> char**).
> 1 Error(s) detected.
--
http://koberoi.com