5
कोड काम के मेकअप सरल टुकड़ा कोशिश कर रहा है:चलती std :: धागा
std::thread threadFoo;
std::thread&& threadBar = std::thread(threadFunction);
threadFoo = threadBar; // thread& operator=(thread&& other); expected to be called
त्रुटि मिल रही है:
use of deleted function 'std::thread& std::thread::operator=(const std::thread&)'
मैं स्पष्ट रूप से एक rvalue संदर्भ, नहीं एक साधारण से एक के रूप threadBar
परिभाषित करते हैं। ऑपरेटर को क्यों नहीं कहा जा रहा है? मैं एक थ्रेड को दूसरे स्थान पर कैसे ले जाऊं?
धन्यवाद!
उत्तर के लिए धन्यवाद। क्या मुझे यह सही लगता है कि एक (और एकमात्र?) जिस तरह से अपेक्षित ऑपरेटर का उपयोग किया जा सकता है, अस्थायी थ्रेड ऑब्जेक्ट जैसे थ्रेडफू = std :: thread (threadFunction); '? – Kolyunya
या तो एक अस्थायी या अनाम नाम जैसा कि आप 'std :: move' से प्राप्त करते हैं। –
एक स्पष्टीकरण के लिए धन्यवाद! – Kolyunya