title: Comparing char with enum
body: <p>I have an enum defined this way:</p>
  
  <pre><code>typedef enum : unsigned char {
      START_DELIMITER = 0xAA,
      END_DELIMITER   = 0xBB,
  } Delimiter;
  </code></pre>
  
  <p>When I compare the delimiter value with with char byte from const char*, like so:</p>
  
  <pre><code>// data is NSData;
  const char *bytes = [data bytes];
  if (bytes[0] == START_DELIMITER) { }
  </code></pre>
  
  <p>The above test is false even though bytes[0] contains 0xAA.</p>
  
  <p>If I define START_DELIMITER as const char, the comparison is true.  Why does the test against the enum fails even though the enum is already defined as unsigned char?</p>