This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re:


Hi Ugo,


Ugo Matrangolo wrote:
> This program causes a segment violation :
> ...
>    vector<vector<int> > mymatrix(n);
> 
>    for (int i = 0;i < n;i++)
>       for (int j = 0;j < n;j++)
>          mymatrix[i][j] = 0;
> ...
> Can anyone tell me if it is a bug or my fault ?

Your fault ;-)

The declaration allocates a vector of n *empty* vector<int>s and those
inner vectors are never expanded to make room for any elements (vectors
do not expand automatically). Try this one instead:

    vector<vector<int> > mymatrix(n);

    for (int i = 0;i < n;i++)
       for (int j = 0;j < n;j++)
          mymatrix[i].push_back(0); // expand the vector<int> by one


so long, benny  
======================================
Benjamin Riefenstahl (benny@crocodial.de)
Crocodial Communications EntwicklungsGmbH
Ruhrstr. 61, D-22761 Hamburg, Germany
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]