Multidimensional Array is not initializing correctly

I am trying to create a multidimensional float vector of dimensions 24x24x24, initialized with a single value. I use the following lines:

const int volume_x = 24;
const int volume_y = 24;
const int volume_z = 24;
float temp_Hstart = (float)round(HfT[300]);
std::vector < std::vector < std::vector <float> > > H_fullyfine(volume_x, std::vector< std::vector<float> >(volume_y, std::vector<float>(volume_z, temp_Hstart)));

However, when I try to read an element from the vector (which should be equal to temp_Hstart) using:

std::cout << H_fullyfine[0][0][0] << std::endl;

it just prints whitespace. Why is it not initializing with the temp_Hstart value as expected?