Too few templateparameterlists

   《STL源码剖析》p27页代码:

C++语言: Codee#25955
01 #include <iostream>
02 using namespace std;
03
04 template <typename T>
05 class TestClass
06 {
07 public:
08     static int _data;
09 };
10
11 int TestClass<int>::_data = 1;
12 int TestClass<char>::_data = 2;
13
14 int main()
15 {
16     cout<<TestClass<int>::_data<<endl
17         <<TestClass<char>::_data<<endl;
18
19     TestClass<int> obji;
20     TestClass<char> objc;
21
22     cout<<obji._data<<endl
23         <<objc._data<<endl;
24
25     return 0;
26 }

编译出现以下错误:

Too Few Template Parameter Lists

没有一成不变的东西,编译器也会变的

据提示修改代码:

C++语言: Codee#25956
01 #include <iostream>
02 using namespace std;
03
04 template <typename T>
05 class TestClass
06 {
07 public:
08     static int _data;
09 };
10
11 template<> int TestClass<int>::_data = 1;
12 template<> int TestClass<char>::_data = 2;
13
14 int main()
15 {
16     cout << TestClass<int>::_data << endl
17          << TestClass<char>::_data << endl;
18
19     TestClass<int> obji;
20     TestClass<char> objc;
21
22     cout << obji._data << endl
23          << objc._data << endl;
24
25     return 0;
26 }
原文地址:https://www.cnblogs.com/invisible/p/2431763.html