C / C ++ передается по значению, а не по ссылке.
Вы передаете значение таблицы в функцию, а затем обновляете ее, что не меняет значение в вызывающей функции.
Вам нужно сделать это:
getTable (tableNum, &theTable);
А в функции getTable нужно сделать:
*outputTable = new DataTable()
В качестве альтернативы вы можете изменить объявление функции getTable () для передачи по ссылке:
bool getTable( int tableNum, DataTable* &outputTable )