On Monday, 27 February 2023 13:05:01 PST Hamish Moffatt via Interest wrote:
> On 28/2/23 04:14, Thiago Macieira wrote:
> > On Sunday, 26 February 2023 23:24:43 PST Hamish Moffatt via Interest wrote:
> >> Is there a solution?
> >
> > Remove the const in:
> > struct S
> > {
> >
> > const QVector<int> v; // compiles if not const
> >
> > };
> >
> > If S is not copyable, then QVector can't copy it and QVector requires
> > copying all its elements.
>
> May I ask why that is? Qt5 QVector and std::vector are both OK with the
> above.Qt 5 QVector is not ok with the above, it just hasn't produced an error *yet*. All Qt main containers are implicitly-shared and therefore must be able to copy their elements. Therefore, your elements must be copyable. std::vector doesn't have this requirement. It is copyable if the element is copyable, otherwise it isn't. -- Thiago Macieira - thiago.macieira (AT) intel.com Cloud Software Architect - Intel DCAI Cloud Engineering
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Interest mailing list [email protected] https://lists.qt-project.org/listinfo/interest
