1
對於有多個模板函數的類沒有模板必須包含在每個聲明如下所示:是否需要爲每個模板函數聲明模板<typename T>?
class Foo
{
public:
template <typename T>
void foo(T a);
template <typename T>
void bar(T b);
}
或者你也可以包括template <typename T>
的第一個聲明,如下所示:
class Foo
{
public:
template <typename T>
void foo(T a);
void bar(T b);
}
我懷疑只有第一個是有效的,因爲沒有;
它使我認爲如果寫在一行上的聲明實際上是template <typename T> void foo(T a)
。我認爲它的公約將它分成兩行!尋找確認。
正確的。在第二個例子中,'foo'是一個模板函數,'bar'不是。 – Anthony