回答編集履歴

1

追記

2017/03/20 13:12

投稿

Chironian
Chironian

スコア23272

test CHANGED
@@ -11,3 +11,29 @@
11
11
  もし、そうなら、`[](Ref* ref){ `を`[&](Ref* ref){ `と書けば通るかも知れません。
12
12
 
13
13
  ラムダ式は[キャプチャの指定](https://cpprefjp.github.io/lang/cpp11/lambda_expressions.html#capture)が必要です。
14
+
15
+
16
+
17
+ ---
18
+
19
+ 【追記】
20
+
21
+ TransitionFade::create()は2つあるようですが、[こちら](http://www.cocos2d-x.org/reference/native-cpp/V3.0alpha0/d8/d60/classcocos2d_1_1_transition_fade.html#ab91ba1658fcd1fc6684a1f44b8d067ed)を呼び出している印象ですね。これの第2パラメータはSceneクラスへのポインタです。
22
+
23
+ それに対して、 [StringUtils::format()](http://www.cocos2d-x.org/reference/native-cpp/V3.0beta2/d6/d91/classcocos2d_1_1_string_utils.html#a35de41d73485b3714f578f1d9c9c1106)の戻り値はstd::stringですね。型違いますので呼び出せません。
24
+
25
+
26
+
27
+ もしかして、AA1Scene, AA2Scene, AA3Scene, ... のようなシーンクラスを定義されているのでしょうか?
28
+
29
+ そして、それらを生成したいということですか?
30
+
31
+
32
+
33
+ C++はC#などと異なり動的に生成した型名を使うことはできません。
34
+
35
+ aaに値を設定する場所があると思います。そこで、`Scene* aa=AA1Scene::create();`のようなイメージでシーンを生成して、`MenuItemImage::create()`で`TransitionFade::create()`に渡すことが考えられます。
36
+
37
+ もし、aaの設定時に定数ではなく式を使っているようでしたら、上記手法は使えませんので、諦めてswitch-caseで分岐する等の対策が必要になります。
38
+
39
+