मुझे समझ नहीं आता क्यों निम्नलिखित कोड जीसीसी 8.0 पर संकलित है:यह रावल्यू संदर्भ एक लालसा से क्यों बंधे हैं?
decltype(auto) foo(int&& r) {
return r;
}
foo
में, r
की घोषणा प्रकार int&&
है, और इसलिए foo
की वापसी प्रकार भी int&&
है। लेकिन r
स्वयं एक लालसा है, और एक लालसा एक रैल्यू संदर्भ से बंधे नहीं जा सकता है।
क्या मुझे कुछ याद आ रही है?
[gcc8] (https://wandbox.org/permlink/4CSGrHnZ26nGL8QK) के साथ पुन: उत्पादित, ऐसा लगता है कि जीसीसी 8 ने रिटर्न प्रकार को 'int' 'के रूप में घटाया। – songyuanyao
@songyuanyao वे कोड संकलन का दावा करते हैं, ताकि कोई repro नहीं होगा। –
@BamititAugen निश्चित कोड [gcc8] (https://wandbox.org/permlink/7mUFIa2VVAwgprEM) के साथ संकलित करता है, लेकिन नहीं [clang6] (https://wandbox.org/permlink/3lpIoyciSWUisYh7)। – songyuanyao