<पूर्व> संकलन त्रुटि देता है: क्यों कॉपी निर्माता प्रपत्र में होता है प्रारंभ साथ ही साथ बहस में, फ़ंक्शन वापसी , एक अपवाद फेंकना (15.1), एक अपवाद (15.3), और कुल मिलाकर सदस्य प्रारंभ (8.5.1) ) को कॉपी-इनिशियलाइज़ेशन कहा जाता है [...] हालांकि, #include & lt; cstdint & gt; Constexpr uint32_t ticksPerSecond = 100000; स्ट्रक्चर टाइममेमेज़र {कॉन्स्टेक्सफ स्पष्ट टाइममेचर (यूआईटी 64_ सी सी): टीक्स (सी) {} यूआईटी 64_टी टीक्स; Constexpr timemeasure (): ticks (0) {}}; संरचना समय: समयरेखा {अब स्थिर वाष्पशील समय; Constexpr time (): टाइममाइज़र () () स्पष्ट समय (uint64_t c): टाइममाइज़र (सी) {} // `एक्स = समय :: समय के लिए आवश्यक स्पष्ट समय (कॉन्स्ट वाष्पशील समय & amp; टी): टाइमरमायर (टी। Ticks) {} समय & amp; ऑपरेटर = (अस्थिर समय टी) {ticks = t.ticks; वापसी * यह; }}; इनलाइन समय foo (समय और समय) {वापसी समय (टीओटीई + 1); }
prog.cpp: फ़ंक्शन में "समय" foo (const time & amp;) ???? : Prog.cpp: 22: 57: त्रुटि: कॉल करने के लिए कोई मेल नहीं फ़ंक्शन: समय :: समय (समय) एक ???? Prog.cpp: 22: 57: नोट: उम्मीदवार है: prog.cpp: 14: 15: नोट: constexpr time :: time () prog.cpp: 14: 15: नोट: उम्मीदवार को 0 तर्क, 1 प्रदान की
समय :: समय (समय) को बुलाया जा रहा है? निश्चित रूप से
uint64_t को पदोन्नत करने की अनुमति नहीं है?
समय को
स्पष्ट के रूप में चिह्नित किया गया है, और फ़ंक्शन से मान लौटाते समय, उस मूल्य से एक अस्थायी कॉपी-आरंभीकृत है सी ++ 11 मानक के परिच्छेद 8.5 / 15 मानक निर्दिष्ट करता है:
टी x = a;
स्पष्ट के रूप में चिह्नित कंसल्टेंटर्स को कॉपी-इनिशियलाइजेशन के संदर्भ में नहीं माना जाता है (देखें 13.3.1.4/1 और 13.3। 1.5 / 1), इसलिए त्रुटि।
No comments:
Post a Comment