[31/77] Use scalar_int_mode for move2add
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.brendan / template11.C
blobbc5724985da05dc6d6b2cd7531380f61ecc0d7f4
1 // { dg-do assemble  }
2 // GROUPS passed templates
3 template <class Called>
4 class aCallback
6 public:
7   aCallback(Called& obj, int (Called::*met)());
9   int callback();
10   
11 protected:
13 private:
14   // the object to call
15   Called&       object;
16   
17   // the method to apply
18   int (Called::*method)();
19   
22 template <class Called>
23 aCallback<Called>::aCallback(Called& obj,
24                              int (Called::*met)()) :
25 object(obj),
26 method(met)
29 template <class Called>
30 int aCallback<Called>::callback()
32   return (object.*method)();
35 struct myStruct
37   int action() {return 24;}
40 int main()
42   myStruct toto;
44   aCallback<myStruct>   cb(toto, &myStruct::action);
46   return cb.callback();