as a rule of thumb: whenever you see an OutputArray, you don't have to worry about the size or type.
just supply an uninitialized Mat, the function will fill it.
in this case , the output will be a NxM float Mat where N(rows) will be the number of keypoints, and M(cols) will be 128, the length of a SIFT feature.