<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/137619>137619</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang++: wrong error about non-const member
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
stsp
</td>
</tr>
</table>
<pre>
```
class A {
static const char *aaa = "aaa";
};
```
clang++:
```
cstr.cpp:2:24: error: non-const static data member must be initialized out of line
2 | static const char *aaa = "aaa";
```
This error is absolutely wrong
and misleading. I had to use gcc
to get a clue:
g++:
```
cstr.cpp:2:24: error: ‘constexpr’ needed for in-class initialization of static data member ‘const char* A::aaa’ of non-integral type [-fpermissive]
2 | static const char *aaa = "aaa";
```
Perfectly clear and valid msg.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysk8_OmzoQxZ9m2IwSGRNCWLAgNzfS3d1FX2CwB-LK2Mg2adOnr5zQfv2qblpVMsLiz_GZ35mhGM3kmDuoz1BfClrTzYcuprgUg9ePDo5iW6JXlmLEHqE5g-gREWOiZBQq72JCdaOAIHsiQqguCFISEUgJVf4emsu2-UHypeomkOe8qv6n9yqmsFfLAlUv83WAqkcOwYe8cd7tXmdvRjQlwpnngQPOa0w4MBpnkiFrvrBGvyb0I1rjeKtAIjT_4G_X8r6EDzcTX67QRKQhersmtg_8FLybQPTkNM4mWiZt3LTH__BGGpPHNTJOSoHok8eJExIqu_IGQvR_CAb-lXAS0J6e1fDnJXx70qJj1qxxzGbd7pXpd0aUjHcZ0S-Avhd9IgLZY5_NVZnU2xl-fGZjXOIpkMX0WBihPu_GhcNsYjR3hvryNzP4n8PIKtkHKssUMCO_kzUa5zjtC91Vuq1aKrgrm0N9qtq6bYtbV58GOTRNPUquBzE2JTfipKuxLEWl5UEVppNC1uIgT2Upj1W7l1oJomEYj8d6bLiCg-CZjN1be5_3PkyFiXHlrqyaY9kWlga28TlfUm69LvOohS7_sBvWKcJBWBNTfJNIJlnu3o_Gq5u2PqMh9_LbALwyKtZgu1tKS8yhyCvI62TSbR32ys8gr1l_u-2W4D-ySiCvT78R5HWzfO_k1wAAAP__BO46zQ">