Good evening!

What is wrong with the following code? I'm trying to use "insertPattern" method to return a QVector<Number>("Number" is an object i created) to "patternList". Then, push_back it into a QList. I'm not getting any compilation error message, but when i run it i get that error!

Qt Code:
  1. QList<QVector<Number>> RegNumber::patternList(QList<QVector<Number>> pl, int array[], int sizeArray)
  2. // Irrelevant code here.
  3. for(...) {//If i delete this "for" and call "insertPattern" one time, the program runs fine.
  4. // Irrelevant code here.
  5. pl.push_back( insertPattern(array, sizeArray) );
  6. }
  7.  
  8.  
  9. QVector<Number> RegNumber::insertPattern(int array[], int sizeArray)
  10. {
  11. QVector<Number> pattern;
  12. pattern.push_back( Number(0, 1) );
  13.  
  14. for(int i = 0; i < sizeArray; i++)
  15. {
  16. if(array[i] != 0)
  17. pattern.push_back( Number((i + 2), array[i]) ) ;
  18. }
  19.  
  20. return pattern;
  21. }
To copy to clipboard, switch view to plain text mode 

ASSERT failure in QVector(T):perator[]: "index out of range", file C:\Qt\5.4\mingw491_32\include\QtCore/qvector.h, line 396
How can i fix it?