Why doesn't C++ support unsigned double syntax?
Because typical floating point formats don't support unsigned numbers. See, for instance, this list of IEEE 754 formats.
Adding a numerical format that isn't supported by common hardware just makes life difficult for compiler writers, and is probably not considered worth the effort.