myWorld.generation( world_array[COLUMNS][ROWS]);
This is not passing the whole array. This is passing the value at location world_array offset by COLUMNS and ROWS. In other words, you are passing one value (and that value is not within the array). That is why the compiler complains about the types not matching. You passed a char to a char pointer.
Try: