This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: template-id does not match any template declaration
- From: Arno Wilhelm <arno dot wilhelm at profile dot co dot at>
- To: learning c++ <learning_c at hotmail dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Fri, 27 Aug 2004 13:16:54 +0200
- Subject: Re: template-id does not match any template declaration
- Organization: proFILE Computersysteme GmbH
- References: <BAY12-F21fgzBscdTfM00004a6c@hotmail.com>
- Reply-to: arno dot wilhelm at profile dot co dot at
> I am a novice for C++, and I compiled a program with C++ and there are an
> error, Pleaes help me.
Try this:
1 #include <iostream>
2
3
4 template <class T>
5 class pair
6 {
7 public:
8 pair(T first, T second) {value1=first; value2=second;}
9 T module () {return 0;}
10
11 private:
12 T value1;
13 T value2;
14 };
16
17 template <>
18 class pair <int>
19 {
20 public:
21 pair (int first, int second) {value1=first; value2=second;}
22 int module ( ) { return (value1 % value2); }
23 private:
24 int value1;
25 int value2;
26 };
35
36 int main (void)
37 {
38 pair <int> myints (100, 75);
39 pair <float> myfloats (100.0, 75.0);
40
41 std::cout << myints.module() << '\n';
42 std::cout << myfloats.module() << '\n';
43
44 return 0;
45 }
46
Arno
> Thanks,
>
> #include <iostream>
>
> template <class T>
> class pair {
> T value1, value2;
> public:
> pair (T first, T second)
> {value1=first; value2=second;}
> T module () {return 0;}
> };
>
> template <>
> class pair <int> {
> int value1, value2;
> public:
> pair (int first, int second)
> {value1=first; value2=second;}
> int module ();
> };
>
> template <>
> int pair<int>::module() {
> return value1%value2;
> }
> int main () {
> pair <int> myints (100,75);
> pair <float> myfloats (100.0,75.0);
> std::cout << myints.module() << '\n';
> std::cout << myfloats.module() << '\n';
> return 0;
> }
>
> Error:
> templatemodule1.cpp:22: error: template-id `module<>' for `int
> pair<int>::module()' does not match any template declaration
> templatemodule1.cpp:22: error: syntax error before `{' token
>
> _________________________________________________________________
> Add photos to your messages with MSN 8. Get 2 months FREE*.
> http://join.msn.com/?page=features/featuredemail
--
Arno Wilhelm <arno.wilhelm@profile.co.at>
proFILE Computersysteme GmbH