Re: unqualified name in template
"George" <George@discussions.microsoft.com> wrote in message
news:D39A4CEB-7327-437D-85B3-2DC0FAB5FA72@microsoft.com
1. Sometimes we use qualified name in template? I have never usage of
qualified names in template.
You probably never piloted a plane. Does this prove that nobody ever
pilots a plane?
Does Bjarne means some code like this,
Foo<::myType> or Foo<Somenamespace::myType> or Foo<SomeClass::myType>
More likely like this:
template <typename Container>
void add_default(Container& c) {
typedef typename Container::value_type V;
c.push_back( V() );
}
Before you lock onto this - no, I don't think this specific function is
particularly useful. It's just the first thing I thought of to
demonstrate a qualified name used in a template.
Does Bjarne indicate qualified names used in a template coule be
bound to a local name?
A qualified name can never resolve to a local variable - in a template
or otherwise. Only entities defined at class or namespace scope can be
referred to with qualified names.
For example, we define a local namespace
There ain't no such thing as a local namespace.
void f()
{
// inside local function f
namespace localns {
struct foo;
};
vector<localns::foo> vc;
}
Have you actually tried to compile this nonsense? No? I thought so.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925