https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89605

--- Comment #1 from xavier at cremaschi dot fr ---
FYI it also compiles if there is no class but just a free function :

#include <string>
#include <functional>
#include <iostream>

using namespace std;

using ConverterFunction = function<double(double)>;

void _foo(
                const ConverterFunction& converter = [](double value) -> double
{ return value; },
                const ConverterFunction& converterBack = [](double value) ->
double { return value; }
                );

void _foo(
        const ConverterFunction& converter,
        const ConverterFunction& converterBack)
{
    cout << "foo " << converter(42) << endl;
}

int main() {
    _foo();
    return 0;
}

Reply via email to