У меня есть многоуровневая иерархия класса, где средний класс (Base2) определяет конструкторы копирования как для себя, так и для базового класса (Base1). Наиболее полученный класс (полученный) не определяет каких -либо конструкторов копий. < /P>
Решение любой функции перегрузки (3) выбирает наиболее полученную версию, но конструкция копии в линии (1) выбирает конструктор копирования из Base1. Это кажется последовательным для всех компиляторов, которые я проверил (Clang, GCC, MSVC). Кто-нибудь может указать, почему это?#include
class Base1
{
public:
Base1() = default;
Base1(const Base1&) { std::cout
Подробнее здесь: https://stackoverflow.com/questions/796 ... -fit-order