title: Why are C macros not type-safe?
body: <p>If have encountered this claim <a href="http://msdn.microsoft.com/en-us/library/ttsbh614.aspx">multiple</a> <a href="https://en.wikipedia.org/wiki/Type_safety">times</a> and can't figure out what it is supposed to mean. Since the resulting code is compiled using a regular C compiler it will end up being type checked just as much (or little) as any other code.</p>
  
  <p>So why are macros not type safe? It seems to be one of the major reasons why they should be considered evil.</p>