#include <string>
void f(std::string&& rref){
}
void f(std::string s){
}
int main() {
std::string s = "s";
f(std::move(s));
}
यह कोड अस्पष्टता का कारण बनता है और मुझे नहीं पता कि शायद, मैंने रैवल्यू संदर्भ में स्पष्ट रूपांतरण क्यों किया।अस्पष्टता। लागू रूपांतरण?
मेरा विचार है कि rvalue संदर्भ परोक्ष सिर्फ lvalue में बदला जा सकता है। लेकिन मुझे यकीन नहीं है। कृपया समझाएँ।
अस्पष्टता क्या है? क्या एक कंपाइलर त्रुटि संदेश था? –
अस्पष्टता त्रुटि पुन: उत्पन्न: 'त्रुटि: अधिभारित कॉल 'f (std :: remove_reference और> :: प्रकार)' संदिग्ध 'नोट है: उम्मीदवार हैं: ... –
Ziezi
आपको दो अलग ओवरलोड की आवश्यकता क्यों है यहाँ? –