回答
定義功能在.h文件。
工作正常,我
A.H
#include <vector>
#include <iostream>
using namespace std;
class A {
public:
template< typename T>
static double foo(vector<T> arr);
};
template< typename T>
double A::foo(vector<T> arr){ cout << arr[0]; }
的main.cpp
#include "a.h"
int main(int argc, char *argv[])
{
A a;
vector<int> arr;
arr.push_back(1);
A::foo<int> (arr);
}
它現在適用於我..有趣和奇怪的...我認爲視覺工作室是重擊! hahaha – CodeKingPlusPlus 2012-02-19 02:54:16
每當你聲明模板時,在頭文件中定義它們,那麼它就會OK)) – 2012-02-19 03:06:04
你不想在頭文件中使用語句:「using namespace std;」改爲使用「std :: vector
你做一個模板類:
template<typename T>
class First
{
public:
static double foo(vector<T> arr) {};
};
還要注意的是,你應該通過引用傳遞vector
,或者在你的情況下,也const
參考會做同樣的。
template<typename T>
class First
{
public:
static double foo(const vector<T>& arr) {};
};
然後,您可以調用的功能等:
First<MyClass>::foo(vect);
如何從main調用該函數?我在調用像這樣的函數後遇到了一個奇怪的錯誤:ClassName
在那裏得到了一些不必要的分號。 – 2012-02-19 02:36:30
- 1. 模板類中的靜態函數
- 2. Dlang靜態模板結構/類函數
- 3. 靜態庫中的模板函數
- 4. 靜態非模板成員函數與靜態模板成員函數
- 5. pthread_create模板函數 - 靜態投射模板類
- 6. 模板類的靜態模板字段?
- 7. 類模板中的靜態函數指針成員
- 8. 類模板專業化中的靜態成員函數
- 9. GCC在模板父類中調用靜態模板函數的問題
- 10. 靜態函數,內聯和模板?
- 11. C++靜態模板子類
- 12. 模板中的靜態類對象C++
- 13. 成員模板靜態函數的類型特徵
- 14. 是否有標準的靜態函數包裝類型模板?
- 15. 類的模擬靜態函數
- 16. 靜態類的模板方法模式
- 17. 非模板類中的函數模板
- 18. 模板類中的模板函數
- 19. 模板類中的模板函數is_same
- 20. 在模板類中定義模板類的靜態數據成員
- 21. 參考非靜態成員函數必須在模板類
- 22. 如何爲指針類創建一個靜態模板函數?
- 23. 作爲函數指針的靜態模板成員函數
- 24. 在C++中調用模板參數的靜態函數
- 25. 模板:靜態類型還是動態?
- 26. 模板類中的靜態非模板方法
- 27. 類模板+函數模板
- 28. C++模板類 - >靜態函數 - >靜態函數指針的鏈接錯誤
- 29. 模板參數中的靜態斷言
- 30. 從同一個類的專門模板的靜態函數中訪問類模板成員
顯示你嘗試過什麼。 – 2012-02-19 02:27:13
這是我試過的......除了放在普通的類中 – CodeKingPlusPlus 2012-02-19 02:29:19
因爲你的類只是一個靜態函數的集合,所以'namespace'可能會更好? – Yay295 2016-11-18 18:18:25