質問編集履歴

2

Typo修正

2024/04/26 07:37

投稿

fana
fana

スコア11708

test CHANGED
File without changes
test CHANGED
@@ -72,7 +72,7 @@
72
72
 
73
73
  [追記] 自分で試したこと:
74
74
 
75
- こんなことをすれば↑のコンパイルエラーから逃げることはできそうですが,無理矢理感というか… もっとやりようがあのではないだろうか? と…
75
+ こんなことをすれば↑のコンパイルエラーから逃げることはできそうですが,無理矢理感というか… もっとやりようがあのではないだろうか? と…
76
76
 
77
77
  ```C++
78
78
  template< class T, class RetType, class ...Args >

1

試したことを追記

2024/04/26 07:36

投稿

fana
fana

スコア11708

test CHANGED
File without changes
test CHANGED
@@ -68,3 +68,27 @@
68
68
  しかしながら,`Args` が先に無いと,`RetType (T::*Method)(Args...)` を書くことができないので困っています.
69
69
  このような場合,どうすれば良いのでしょうか?
70
70
 
71
+ ---
72
+
73
+ [追記] 自分で試したこと:
74
+
75
+ こんなことをすれば↑のコンパイルエラーから逃げることはできそうですが,無理矢理感というか… もっとやりようがありのではないだろうか? と…
76
+
77
+ ```C++
78
+ template< class T, class RetType, class ...Args >
79
+ class XXX2Outer
80
+ {
81
+ public:
82
+ template< RetType (T::*Method)( Args... ) >
83
+ class XXX2Inner
84
+ {
85
+ public:
86
+ RetType CallTheMethod( T &t , Args... args )
87
+ { return (t.*Method)( args... ); }
88
+ };
89
+ };
90
+
91
+ //
92
+ XXX2Outer<Test, void, int>::XXX2Inner< &Test::F > xxx2;
93
+ xxx2.CallTheMethod( t, 33 );
94
+ ```