読者です 読者をやめる 読者になる 読者になる

ゆとりーなの日記

日記的な事を書いて行くと思はれる

thisキャプチャしたラムダ内でthisをキャプチャしたラムダを含む配列が作れない

これがコンパイル通らないっぽいです。g++4.7.0です。

#include <functional>

struct hoge {
  void foo() {
  }

  void bar() {
    auto h = [this] {
      std::function<void ()> f[] = {[this] {bar();}};
    };
  }
};

int main() {
  hoge h;
  h.bar();
}

エラーメッセージ

the value of 'this' is not usable in a constant expression

私のC++力じゃよく分かりませんが規格的にはアウトなんですかね。