error de openmp g ++: los bucles contraídos no están perfectamente anidados

Trato de compilar

#include <omp.h>

using namespace std;

vector< vector<int> > multiplyMatrixes(const vector< vector<int> > &a, const vector<     vector<int> > &b, int aHeight, int aWidth, int bHeight, int bWidth) {
    vector < vector<int> > c(aHeight, vector<int>(bWidth, 0));
    #pragma omp parallel for collapse(2)
    for(int row = 0; row < aHeight; row++) {
            for(int col = 0; col < bWidth; col++) {
                   int value = 0;
                   for(int i = 0; i < aWidth; i++) {
                          value += a[row][i] * b[i][col];
                   }
                   c[row][col] = value;
                   cout<<"Tread #"<<omp_get_thread_num()<<"\n";
            }
            std::cout<<'\n';
    }
    return c;
}

int main() {}

con el comando 'g ++ -fopenmp hello.cpp -o hello', la versión de gcc es 4.7, pero obtengo el siguiente 'hello.cpp: 19: 17: error: los bucles colapsados ​​no están perfectamente anidados' ¿Qué significa?

Respuestas a la pregunta(1)

Su respuesta a la pregunta