+++ /dev/null
-// PRMS Id: g++/6034
-
-extern "C" int printf (const char *, ...);
-
-class Base
-{
- char x;
-};
-
-template <class T>
-// remove the public Base inheritance and the problem goes away...
-class Container : public Base
-{
-public:
-
- Container(const T& aValue): myValue(aValue) { }
-
- operator const T&(void) const
- {
- printf("Container::const T& called\n");
- return myValue;
- }
-
-protected:
-
- T myValue;
-};
-
-typedef unsigned short Type;
-
-typedef Container<Type> TypeContainer;
-
-int main(void)
-{
- TypeContainer myTypeContainer(2);
- Type t = myTypeContainer;
-
- printf ("myType = %d\n", t);
- return t != 2;
-}