The char* constant value ERROR with GNU G++ compiler
<p>I write sevaral files with the relationship like:</p>

<p>file A.h:</p>

<pre><code>#ifndef MACRO_HEADER
#define MACRO_HEADER
const char* CONST_CHAR_NAME = "name";
#endif
</code></pre>

<p>file B.h(B.cpp) and file C.h(C.cpp) also include this common type definition header A.h.
When the g++ finally combines the obj files to lib, it gives out he redefinition error.I confess that I make a mistake and I should define the constant as:</p>

<pre><code>const char* const CONST_CHAR_NAME = "name"; //This is OK 
</code></pre>

<p>But why compiler gives me a redefinition ERROR? Is const char* not a constant value?But I use typeid.name to check the types of <code>const char *</code> and  <code>cosnt char* const</code>. They are the same:<strong>char const *</strong> . I am confused with the ERROR.</p>
