c++ - volatile member can not be accessed by member function -
निम्न कोड मेरे प्रोग्राम को क्रैश करता है:
#include & lt; स्ट्रिंग & gt; #include & lt; vector & gt; क्लास टेस्ट {volatile std :: vector & lt; std :: string & gt; WTF; सार्वजनिक: परीक्षण () {} शून्य डोप () {wtf.clear (); }}; Int main () {(नया परीक्षण ()) - & gt; डोप (); वापसी 0; }
और मुझे पता नहीं क्यों है जब मैं अस्थिरता निकालता हूं, यह फिर से काम करता है। तो क्यों अस्थिर एक समस्या है?
std :: vector :: स्पष्ट () में
अस्थिर
योग्यता नहीं है।
इसलिए इसे अस्थिर वेक्टर के साथ बेकार करना अवैध है।
BTW, अस्थिर
बहु-थ्रेडिंग के लिए एक जादू कीवर्ड नहीं है।
आप अपने वेक्टर तक पहुंच की रक्षा के लिए mutex
का उपयोग कर सकते हैं।
Comments
Post a Comment