Template + Spezialisierung in verschiedenen Namensräumen?
-
// HEADER1.h namespace OberSpace { template <class T> class Klasse { }; } // HEADER2.h namespace OberSpace { namespace UnterSpace { template <> class Klasse <int> { }; } }
Warum compiliert mir das mein MSVC6 nicht? Kann das erst der Siebener? Ist das überhaupt standardkonform? Soll ich so sowieso keine Library erstellen weils nur wenige Compiler können?
MfG SideWinder
-
Das kann kein Compiler.
-
Wäre es denn standardkonform?
MfG SideWinder
-
nein, die spezialisierung im eigenen namespace hat nämlich nichts mehr mit der andren klasse zu tun, der compiler sucht nur im aktuellen namespace nach einer passenden klasse für die spezialisierung.