2015-07-12 78 views
1

選項我正在尋找在G ++ /鐺++編譯器選項來控制的顯式實例方法的實例。鏘/ G ++模板實例

假設我有一個classtemplate Foo<T>一些顯式實例

template Foo<int>; 

我想啓用的所有公共方法的實例。這似乎並不爲默認,因爲我不必手動添加爲實例,爲了避免鏈接錯誤全體成員;

template void Foo<int>:DoStuff(int); 
template int Foo<int>:GetSomeStuff(); 
+0

'模板富'沒有做任何事情(它實際上是在海灣合作委員會的錯誤)。你想'模板類Foo '。 – 0x499602D2

回答

2

您可以單獨實例化每個方法,也可以爲類實例化所有方法。看來你想要做後者,但你嘗試過的符號是錯誤的。正確的是:

template class Foo<int>; 

(假設Foo聲明爲class;如果它被聲明爲struct你使用struct關鍵字代替)。