What about this? int main() { int* data; data = read_data(5); for (size_t i = 0; i < 5; ++i) std::cout << data[i] << std::endl; data = read_data(5); for (size_t i = 0; i < 5; ++i) std::cout << data[i] << std::endl; delete[ ] data; }