回答編集履歴

1

add link

2019/09/26 11:52

投稿

yohhoy
yohhoy

スコア6191

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- `std::function`では実装不可能です。`std::function<R(Args...)>`のように戻り値型`R`と引数リスト`Args...`を明示する必要があるため、「引数や戻り値が異なる関数ポインタ」を同`std::function`型として扱えません。
13
+ [`std::function`クラステンプレート](https://cpprefjp.github.io/reference/functional/function.html)では実装不可能です。`std::function<R(Args...)>`のように戻り値型`R`と引数リスト`Args...`を明示する必要があるため、「引数や戻り値が異なる関数ポインタ」を同`std::function`型扱えません。
14
14
 
15
15
 
16
16
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- 一応、どんなデータ型(任意の関数ポインタも含む)でも扱える`std::any`を使った実装コードす。呼び出し側では格納した型(`FUNCPTR1`や`FUNCPTR2`)を明示する必要があります。不一致の場合は、`std::bad_any_cast`例外がスローされます。
21
+ 一応、どんなデータ型(任意の関数ポインタも含む)でも扱える[`std::any`クラス](https://cpprefjp.github.io/reference/any/any.html)を使った実装コードの例を示します。呼び出し側では格納した型(`FUNCPTR1`や`FUNCPTR2`)を明示する必要があります。不一致の場合は、`std::bad_any_cast`例外がスローされます。
22
22
 
23
23
 
24
24