class Foo
{
public:
explicit Foo() {}
explicit Foo(Foo&) {}
};
Foo d = Foo();
error: нет соответствующей функции для вызова в Foo:: Foo (Foo) '
Я попытался изменить Foo(Foo&)
на Foo(Foo)
, как указывает ошибка, который AFAIK не является допустимым конструктором, и, я уверен, я получаю:
ошибка: недопустимый конструктор; вы, вероятно, имели в виду "Foo (const Foo &)
Что дает? Как это разрешить? (Кстати, на GCC)