मैं विकल्प सी ++ 14 के साथ the code संकलन करने की कोशिश की:<algorithm> एक मैक्रो एक्स परिभाषित करता है?
#define X static_cast<double>(2)
#include <algorithm>
// if you change the two lines, no error occurs
int main()
{
return 0;
}
लेकिन मैं एक्स के बाद त्रुटि मिलती है:
error: expected ',' or '...'
मैं विकल्प सी ++ 98 के साथ त्रुटि नहीं मिलता है। मेरे जीसीसी संस्करण 4.8.4 के साथ, मुझे त्रुटि नहीं मिलती है, लेकिन 5.4.0 के साथ मैं करता हूं। क्या यह एक बग है? क्या मैं कुछ गलत करता हूँ?
प्रदान किए गए कोड के साथ gcc6 – vsoftco
[पुन: उत्पन्न नहीं कर सकता] (https://godbolt.org/g/Xv0ksm) के साथ कोई त्रुटि नहीं है। इस बात के लिए कि मैक्रो को परिभाषित करता है, आप दस्तावेज़ीकरण की जांच कर सकते हैं - ऐसा नहीं है। –
DeiDei
यही कारण है कि मैंने लिंक प्रदान किया। यदि यह एक बग है, तो प्रदाता से जुड़े प्रभावित संस्करणों का उपयोग कर सकते हैं। तो @ डीईडी, क्या यह एक बग है और मैंने सबकुछ ठीक किया? यदि ऐसा है, तो कृपया इसे स्वीकार करने का उत्तर दें। – DanielTuzes