There are no constructor in TH3 taking an axis with fixed bins and one with variable ones. It is just a question of coding all the different cases. Maybe we could add it, but the obvious workaround is to create 3 axes with variable bins, although in your case the y and z axis will have all same bin width:
TAxis tmp(100,0,5);
double edgesYZ[101];
for (int i = 0; i < 101; i++) {
edgesXY[i] = tmp.GetBinUpEdge(i);
}
TH3 * h3 = new TH3D("h3","h3",4,edges, 100, edgesXY, 100, edgesXY);