【发布时间】:2011-11-27 13:51:52
【问题描述】:
我编写了一个简单的测试程序来尝试学习如何在 C++ 中使用模板静态成员函数。代码可以编译,但不能正常工作(打印出一些垃圾)。我想我使用了正确的语法。我读过this 或this 和其他一些东西,但仍然不知道我做错了什么。下面的代码:
#include <iostream>
using namespace std;
class Util {
public:
Util();
virtual ~Util();
template <typename T> static void printTab(T tab[]);
};
template <typename T>
void Util::printTab(T tab[]) {
for (unsigned int i=0; i<sizeof(tab)/sizeof(tab[0]); i++) {
cout << tab[0] << " ";
}
cout << endl;
}
int main() {
float tabFloat[5] {1, 2, 3, 4, 5};
unsigned char tabChar[3] {1, 2, 3};
Util::printTab(tabFloat);
Util::printTab(tabChar);
return 0;
}
任何提示表示赞赏。
【问题讨论】:
标签: c++ templates static-methods