質問ですが以下のコードのように、enum Barが
クラスFooの中でprivateなサブタイプとして定義されているときに、
enum Barで定義されている定数TAG1やTAG2を
ラムダ式の定義の中からクラス名修飾無しで使うにはどうしたらいいんですかね…
class Foo {
private:
enum Bar { TAG1, TAG2, TAG3 };
public:
enum Bar some_method();
enum Bar launch(std::function<enum Bar(int)> func);
};
Foo::Bar Foo::some_method() {
// メソッドの地の文
printf("TAG1=%d\n", TAG1); // これはクラス名修飾無しでもOK
// ラムダ式の定義
auto lambdaFunc = [=](int x)->enum Bar{
if (x == 1) {
return Foo::TAG1; // これはクラス名修飾しないとコンパイルエラー
} else {
return Foo::TAG2; // これもクラス名修飾しないとコンパイルエラー
}
};
// ラムダ式を使う
return launch(lambdaFunc);
}
C++相談室 part147
■ このスレッドは過去ログ倉庫に格納されています
150デフォルトの名無しさん
2020/01/02(木) 19:15:39.81ID:G5uvQucS■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 「すごいアイドル出てきた」「かわいすぎる」ラヴィット初登場の美女に視聴者驚き ≠ME櫻井もも [ヴァイヴァー★]
- 【悲報】安倍晋三と高市早苗、どっちがヤベーの🤔 [616817505]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【速報】中国が日中関係悪化は高市氏に責任と名指しで非難 [931948549]
- ネトウヨ論調決まる「寧ろ迷惑中国人観光客が減ることで日本人の旅行が活性化され経済的には影響ない」 <mark>[ひまわり学級]</mark> [511393199]
