How can I properly re-write C++11 lambda expression without lambda expr
<p>I have a following code:</p>

<pre><code>class Variant
{
public:
    void init();
}

void Variant::init()
{
    int var 1;
    vector list;
    vector list2;

    tbb::parallel_for(tbb::blocked_range&lt;std::size_t&gt;(0, list.size(), ClrSize),
    [this, &amp;var1, &amp;list,&amp;list2](const tbb::blocked_range&lt;std::size_t&gt; &amp;range)
    {
        /*some code here*/
    }
</code></pre>

<p>I thought about implementing <code>operator()(const tbb::blocked_range&lt;std::size_t&gt; &amp;range)</code></p>

<pre><code>class Variant
{
public:
    void operator()(const tbb::blocked_range&lt;std::size_t&gt; &amp;range)
    {
        /*some code here*/
    }
    void init();
}

void Variant::init()
{
    int var 1;
    vector list;
    vector list2;

    tbb::parallel_for(tbb::blocked_range&lt;std::size_t&gt;(0, list.size(), ClrSize), this);
}
</code></pre>

<p>but it doesn't solve capture list problem.</p>

<p>How I can re-write lambda expression? What can I do with <em>var1, list, list2</em> arguments?</p>

<p>Thanks</p>