I thought the viewport was optional, like how Sprite is, if I am remembering correctly. I could be wrong.
Currently the C++ code has no way to handle the class being instantized without a viewport passed.
* Goes to check it out
EDIT:
* Returns...
Yeah, it should be able to be called without no argument.