का कोड_कैस्ट निम्नलिखित कोड जीसीसी (4.2-4.6) और क्लैंग (2.1) के साथ दोनों को संकलित करता है, लेकिन जब मैं निष्पादन योग्य चलाता हूं तो यह मुझे "बस त्रुटि: 10" देता है। मुझे कारण समझ में नहीं आता है।स्थिर स्थिर सदस्य
#include <iostream>
struct A
{
static int const v;
A() { ++*const_cast<int *>(&A::v); }
};
int const A::v = 0;
int main(int argc, char * argv[])
{
A a, b, c;
std::cout << a.v << std::endl;
return 0;
}
मुझे पूरा यकीन है कि आप जिस चीज को घोषित करते हैं उसे संशोधित करना अनिर्धारित व्यवहार है, लेकिन मुझे यकीन है कि कोई सटीक बयान खोद सकता है। कम से कम पूर्ण नमूना कार्यक्रम प्रदान करने के लिए –
+1। अधिक जानकारी के लिए, http://sscce.org/ देखें। –