Cast int en tant que tableau d'octets en C++

Je suis en train de mettre en œuvre l'utilisation de la LSB méthode de recherche proposée par Andrew Grant dans une réponse à cette question: La Position du bit le moins significatif est définie

Cependant, résultant en une erreur de segmentation. Voici un petit programme illustrant le problème:

#include <iostream>

typedef unsigned char Byte;

int main()  
{  
    int value = 300;  
    Byte* byteArray = (Byte*)value;  
    if (byteArray[0] > 0)  
    {  
        std::cout<< "This line is never reached. Trying to access the array index results in a seg-fault." << std::endl;  
    }  
    return 0;  
}  

Ce que je fais mal?
J'ai lu que ce n'est pas de bonne pratique de l'utilisation de "type C" jette en C++. Dois-je utiliser reinterpret_cast<Byte*>(value) à la place? Cela résulte en une erreur de segmentation.

OriginalL'auteur peace_within_reach | 2011-03-09