typedef Foo <> Foo derler ama geçerli mi?
template<typename T=void>
struct Foo
{
};
// typedef Foo<> Foo; // Does *NOT* compile
int main()
{
typedef Foo<> Foo;
Foo f1;
// Foo<char> f2; // Does *NOT* compile
//::Foo<char> f3; // COMPILES
}
geçerli mi?
struct Foo { };
namespace bar {
struct Foo { };
}
Sadece farklı bir kapsamda adını üzerine yazıyorsanız:
Şablonda varsayılan argümanlar sağlıyorsunuz. Bu kesinlikle geçerli. –
@Captain: Peki ya ikisi de Foo diye isimlendirilmişler? – Cameron