Can you use a function local class as predicate to find_if?
<p>Is it possible to use a local class as a predicate to std::find_if?</p>

<pre><code>#include &lt;algorithm&gt;

struct Cont
{
    char* foo()
    {

        struct Query
        {
            Query(unsigned column)
                : m_column(column) {}

            bool operator()(char c)
            {
                return ...;
            }

            unsigned m_column;
        };

        char str[] = "MY LONG LONG LONG LONG LONG SEARCH STRING";

        return std::find_if(str, str+45, Query(1));
    }
};

int main()
{
    Cont c;
    c.foo();

    return 0;
}
</code></pre>

<p>I get the following compiler error on gcc:</p>

<pre><code>error: no matching function for call to 'find_if(char [52], char*, Cont::foo()::Query)'
</code></pre>

<p><strong>EDIT: Changing nested to local</strong></p>
