-1
用ブレース囲まれた初期化子リストを変換できませんでした私のイニシアチブのリストは?は、私は次のセットアップをしているのstdでのstd ::ペア::マップ
用ブレース囲まれた初期化子リストを変換できませんでした私のイニシアチブのリストは?は、私は次のセットアップをしているのstdでのstd ::ペア::マップ
あなたの質問にはMCVEがありませんが、エラーメッセージは十分に明確です。reaction
はstd::function<void()>
のtypedefのようです。 &Node::connect
のようなメンバ関数ポインタは、std::function<void()>
に変換することはできません。なぜなら、後者には、実際に関数を呼び出すための任意の種類のthis
パラメータがないからです。 「反応」とは何である
const std::map<std::pair<Status, Event>, reaction> TransTable = {
{{DISCONNECTED, CONNECT}, [this] { connect(); }},
{{CONNECTING, RECEIVE}, [this] { receive(); }}
};
:
ただし、キャプチャして、現在この
TransTable
メンバーを初期化しているインスタンスを格納するためのラムダを使用することができますか?それは定義されていないので、エラーはこれから来ます。 –申し訳ありません、それを含めるのを忘れてしまった – Reza