QVector.push_back error

error in

QVector<LibraryRecord> Library;
Library.push_back(LibraryRecord(DateOfIssue, ReturnDate, FIO,tTekct,FName,TText));

error message:

 no matching function for call to ‘LibraryRecord::LibraryRecord()’

why? Constructor present

//constructor
LibraryRecord::LibraryRecord(QString pDateOfIssue,
                             QString pReturnDate,
                             QString FIO,
                             QString tTekct,
                             QString fName,
                                 QString TTextt)
{..}

Can you tell me how to fix this? Thanks in advance!

Upvotes: 4

Views: 1708

Answers (2)

littleadv
littleadv

Reputation: 20272

Your class must be assignable. It is probably not.

Upvotes: 1

James McNellis
James McNellis

Reputation: 355079

Unlike the C++ Standard Library containers (e.g. std::vector), the Qt containers require that the value type be default constructible.

That is, your type LibraryRecord must also have a default constructor (the constructor that you show, which requires arguments, is not a default constructor).

Upvotes: 12

Related Questions