संभव डुप्लिकेट:
Why are redundant scope qualifications supported by the compiler, and is it legal?क्या डुप्लिकेट सी ++ वर्ग स्कोप निर्दिष्ट करना ठीक है?
मैं इस संकलन की उम्मीद नहीं होगा, लेकिन यह करता है। क्या यह एक कंपाइलर बग हो सकता है, या क्या इसका कोई सही अर्थ है?
$ g++ -c scopes.cpp
$ cat scopes.cpp
class Log {
public:
Log() { }
static void fn() { }
};
void test() {
Log::Log::Log::Log::Log::Log::fn();
}
$ g++ --version
g++ (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3
साइड नोट: यह वीसी 10 के तहत संकलित नहीं होगा। हालांकि, एक संकलक स्वीकार करने वाले कोड के रूप में यह साबित नहीं होता है कि यह कानूनी भी है, क्योंकि एक संकलक कोड को अस्वीकार करता है इसका मतलब यह नहीं है कि यह अवैध है। –