void operator"" test(const char* str, size_t sz )
{
std::cout<<str<<" world";
}
int main()
{
"hello"test;
return 0;
}
जीसीसी 4.7 में, यह उत्पन्न करता है:क्या उपयोगकर्ता परिभाषित शाब्दिक में अनुपलब्ध अंडरस्कोर के बारे में जीसीसी चेतावनी को अक्षम करना संभव है?
मुझे समझ में क्यों इस चेतावनी उत्पन्न होता है "चेतावनी शाब्दिक ऑपरेटर से पहले नहीं प्रत्यय '_' भविष्य मानकीकरण [डिफ़ॉल्ट रूप से सक्षम] के लिए आरक्षित हैं", लेकिन जीसीसी कहते हैं, " डिफ़ॉल्ट रूप से सक्षम "।
क्या यह चेतावनी अक्षम हो सकता है कि वे केवल ध्वज के माध्यम से सभी चेतावनियों को अक्षम किए बिना?
वाह, मुझे नहीं पता कि सी ++ 11 ओवरलोडिंग [ऑपरेटर ""] (http://ideone.com/ZDyCML) का समर्थन करता है। जिस तरह से विचार में मौजूद g ++ कम से कम चेतावनी नहीं देता है, लेकिन मेरा स्थानीय कंपाइलर करता है। सिर्फ 'जानकारी' को '_test' में बदलकर, अन्य की जानकारी (जिसे संदर्भ नहीं पता) के लिए चेतावनी दूर हो जाती है। – iammilind
आप क्यों चाहते हैं? हर मौका है कि बाद में सी ++ संस्करणों में संभावित विरोधाभासी प्रतीकों शामिल होंगे। यह बुरी बात है*। जीसीसी की समस्या यह है कि यह आपको * त्रुटि * नहीं दे रहा है। –
@ निकोल, आपकी टिप्पणी की सराहना करते हैं और यह चेतावनी वास्तव में मेरे लिए एक त्रुटि का परिणाम देती है क्योंकि मैं उपयोग करता हूं - वाइर। जीसीसी में हमारे पास कई मूल्यवान चेतावनियां हैं, फिर भी हम प्रोग्रामर को स्पष्ट रूप से अक्षम कर देते हैं। – cmeub