Вкладки семантического интерфейса - это вкладка?

Я могу предложить стирание типа как общее решение вашей проблемы. В современном C ++ существует тенденция избегать прямого манипулирования необработанными указателями, если это не неизбежно:

struct common_part{
    //declare common data and ctor
protected:
    virtual elem* end(){return begin()+size();};
    virtual elem *begin()=0 ;
    virtual ~common_part()=default;
    virtual std::size_t size()=0;
};

template<std::size_t N>
struct instance_type:
    common_part{
protected:
    void elem* begin() override{return arr;};
    void elem* end() override{return arr+N;};
    void std::size_t size() override{return N;};
private:
    elem arr[N];
};

std::unique_ptr<common_part> ptr {new instance_type<N>{}};
0
задан djna 19 January 2019 в 11:58
поделиться

0 ответов