前回(VC++のラムダ式とoperator()でのバグ?)の件に対する回避策(Workaround)です。ずばり、this->を付加すれば大丈夫です。
#include <iostream> struct Hoge { void test() { auto f = [&]{this->operator()();}; f(); } void operator()() { std::cout << "hoge" << std::endl; } }; int main() { Hoge obj; obj.test(); } |
スポンサード リンク |
この記事のカテゴリ