- , , , -, .
( ) , /, , , , .
++ . , "", , , ( ). , . :
struct t1 {
template <int>
struct a {};
};
struct t2 {
enum { a = 123 };
};
enum { b = 456, c = 789 };
template <class T>
void foo() {
T::a<b>c;
}
, foo<t1>(), , t1::a :
T::a<b> c;
foo<t2>(), , t2::a :
(T::a < b) > c;
, , "" ; .
, , , ISO ++ , , .h .cpp . " ", export:
export template <class T>
T *Link(T *&, T *(*)());
export template <class T>
T *Link(T *&ChildNodeReference, T *(*ObjectCreator)()) {
}
, , - , ; , g++, MSVC ++ Builder . , , Comeau ++.