質問編集履歴
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,4 +47,9 @@
|
|
47
47
|
|
48
48
|
よろしくお願いいたします
|
49
49
|
|
50
|
-
※質問が間違っていたため修正しました
|
50
|
+
※質問が間違っていたため修正しました
|
51
|
+
|
52
|
+
###追記
|
53
|
+
シンプルに文章が長くなりすぎないようにと考えて質問した結果
|
54
|
+
本来やりたい事から離れてた上に、回答者さんにも混乱をあたえてしまうことになってしまったことをお詫びします。
|
55
|
+
皆様回答ありがとうございました
|
1
間違いの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,41 +1,43 @@
|
|
1
1
|
実装方法に悩んでいるので助言をお願いしたいです。
|
2
2
|
|
3
|
-
|
3
|
+
引数で処理を分ける関数があるとします
|
4
4
|
```C++
|
5
|
-
|
5
|
+
func(int tmp)
|
6
6
|
{
|
7
|
+
if(0 == tmp)
|
8
|
+
{
|
7
|
-
|
9
|
+
printf("A\n");
|
10
|
+
}
|
11
|
+
else
|
12
|
+
{
|
13
|
+
printf("B\n");
|
14
|
+
}
|
8
15
|
}
|
9
|
-
|
10
|
-
funcB
|
11
|
-
{
|
12
|
-
printf("B\n");
|
13
|
-
}
|
14
16
|
```
|
15
17
|
|
16
18
|
この二つの関数を、ある一つの関数を呼び出すだけで呼び出すたびに交互に処理をする関数を作成したいと思っています。
|
17
19
|
```c++
|
18
20
|
func_call_AorB
|
19
21
|
{
|
20
|
-
// 前回が
|
22
|
+
// 前回がfunc(1)ならfunc(0)を実行
|
21
|
-
// 前回が
|
23
|
+
// 前回がfunc(0)ならfunc(1)を実行
|
22
24
|
}
|
23
25
|
```
|
24
26
|
|
25
|
-
|
27
|
+
func(0)とfunc(1)を使うかどうかの設定値も持っており
|
26
28
|
それによっても処理を分岐しなくてはなりません、片方が使用しない設定なら
|
27
29
|
片方の関数を呼び続けるようにしたいです。
|
28
|
-
両方の設定がfalseになることはありません
|
30
|
+
両方の設定がfalseになることはありません、また設定値は途中で変わることはありません
|
29
31
|
```C++
|
30
32
|
func_call_AorB
|
31
33
|
{
|
32
|
-
if(true ==
|
34
|
+
if(true == use_0)
|
33
35
|
{
|
34
|
-
// 前回の実行が
|
36
|
+
// 前回の実行がfunc(1)か、func(1)を使わない設定ならfunc(0)を実行
|
35
37
|
}
|
36
|
-
if(true ==
|
38
|
+
if(true == use_1)
|
37
39
|
{
|
38
|
-
// 前回の実行が
|
40
|
+
// 前回の実行がfunc(0)か、func(0)を使わない設定ならfunc(1)を実行
|
39
41
|
}
|
40
42
|
}
|
41
43
|
```
|
@@ -43,4 +45,6 @@
|
|
43
45
|
フラグを複数使ってごり押しのコードを書けば実現できそうなのですが
|
44
46
|
できるだけスマートに書けないかと思い質問させていただきました
|
45
47
|
|
46
|
-
よろしくお願いいたします
|
48
|
+
よろしくお願いいたします
|
49
|
+
|
50
|
+
※質問が間違っていたため修正しました
|