С тех пор, как у меня были проблемы в моем коде, я сделал следующий McVe.
Я ожидаю, что он будет распечатать задание шаблонов! Это будет соответствовать только полученным классам. Таким образом, второе назначение приводит к оператору назначения по умолчанию.#include
#include
struct Base { };
struct Derived : public Base { int A = 0; };
template
class ReferenceWrapper
{
public:
ReferenceWrapper() { }
~ReferenceWrapper() { Buffer = nullptr; }
//Assignment allows upcasting
template requires(std::derived_from || std::same_as)
ReferenceWrapper& operator=(const ReferenceWrapper& Other)
{
std::cout
Подробнее здесь: https://stackoverflow.com/questions/795 ... t-operator
Мобильная версия