If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Hybrid View

Dynamically allocating a 2d array

As part of a program i have a function that takes in a word and saves it into a 2d array. Before it saves the word it checks to make sure there is room in the array. If the number of words in the array is equal to the current size of the row dimension then more space needs to be allocated. The problem occurs after the new bigger 2d array is created and i want to assign the address of this array to the original pointer to the smaller array.

The parameters to the procedure are
word = a string holding the new word to be saved
results = a 2d array holding all previously saved words
numWords = the number of words currently in the array
maxWords = the maximum number of words for which there is space. i.e the size of the row parameter to results.

Its usually desirable to use single dimensional and just index it or cast it out as a 2-d. Use of vectors instead is often recommended as well, unless you have a reason not to. the compiler problem can be worked around, however, and your code looks correct except for that one problem.

results = &tempResults[0]; //I think this will cure it? try it and see. I dont have a compiler at home atm as I reloaded recently.

I will sneak a compile at it tomorrow at work. There is a simple way to trick the compiler into seeing them as the same type, but as I always just use single dimensional arrays, I can't think it up atm.