Вы затеняете метод. Например:
struct base
{
void method(int);
void method(float);
};
struct derived : base
{
void method(int);
// base::method(int) is not visible.
// base::method(float) is not visible.
};
Вы можете исправить это с помощью директивы using
:
class derived : public base
{
using base::method; // bring all of them in.
void method(int);
// base::method(int) is not visible.
// base::method(float) is visible.
};
Поскольку вы, похоже, настаиваете на количестве параметров, я буду адрес. Это ничего не меняет. Наблюдать:
struct base
{
void method(int){}
};
struct derived : base
{
void method(int,int){}
// method(int) is not visible.
};
struct derived_fixed : base
{
using base::method;
void method(int,int){}
};
int main(void)
{
{
derived d;
d.method(1, 2); // will compile
d.method(3); // will NOT compile
}
{
derived_fixed d;
d.method(1, 2); // will compile
d.method(3); // will compile
}
}
Будет [shadow] еще затеняться независимо от параметров или возвращаемых типов; это просто имя , которое тени. using base::<x>;
приведет все методы base
'<x>
"к видимости.
Так как Докер 17.05 COPY
используется с эти --from
флаг в многоступенчатые сборки для копирования артефактов от предыдущих этапов сборки до текущего этапа сборки.
от документация
Дополнительно КОПИЯ принимает флаг
--from=<name|index>
, который может использоваться для установки исходного местоположения на предыдущий этап сборки (созданный с ОТ.. AS), который будет использоваться вместо контекста сборки, отправленного пользователем.