Pourquoi ne puis-je pas reinterpret_cast uint int?

Voici ce que je veux faire:

const int64_t randomIntNumber = reinterpret_cast<int64_t> (randomUintNumber);

Où randomUintNumber est de type uint64_t.

L'erreur est (MSVC 2010):

error C2440: 'reinterpret_cast' : impossible de convertir de 'const un uint64_t'
'int64_t' 1> la Conversion est valable de conversion standard,
qui peut être effectuée implicitement ou par l'utilisation de static_cast, de style C
fonte ou de la fonction de style de fonte

Pourquoi ne pas compiler? les deux types ont la même longueur en bits, n'est-ce pas ce que reinterpret_cast est prévu pour?

Si vous pouviez liste les erreurs que vous obtenez, nous pourrions plus facilement dire pourquoi il ne compile pas.
my bad, a élargi la question.

OriginalL'auteur Violet Giraffe | 2013-01-31