इस कार्यक्रम के परिणामस्वरूप एक अवांछित पार्सिंग लालच मर चुका है:
struct float4x4 {};
class C
{
float4x4 M();
};
float4x4 ::C::M()
{
return float4x4{};
}
: 8: 1: त्रुटि: 'फ्लोट 4x4' में 'सी' नाम का कोई सदस्य नहीं; क्या आपका मतलब बस 'सी' था?
float4x4 :: C :: M ()
^ ~~~~~~~~~~~~
अनुगामी रिटर्न प्रकार का उपयोग करके 'निश्चित' किया जा सकता है:
auto ::C::M() -> float4x4
{}
अब सब अच्छा है।
इसलिए मुझे लगता है कि जब हम शीर्षक-वापसी-प्रकार घोषणा सिंटैक्स का उपयोग कर रहे हैं, तो हम पूरी तरह से वर्ग-नाम को योग्य नहीं बना सकते हैं?
@Someprogrammerdude हां, यह चेक करें Godbolt.org/z/mt6GHD
—
v.oddou
यह
—
rustyx
::C
हिस्सा किसी अन्य समस्या के लिए समाधान की तरह दिखता है। अन्यथा यह बस हो सकता था C
(जैसे कि कंपाइलर सुझाव देता है;)
@rustyx यह सिर्फ ट्रांसपॉइलर द्वारा कोड का यांत्रिक पुन: उत्सर्जन है जो इस स्थिति में एक अल्ट्रा कॉम्प्लेक्स "कम से कम योग्य नाम" निष्पादित नहीं करना चाहता है। एफक्यू-नाम को छोड़ना पूरी तरह से देखने को नजरअंदाज कर देता है और ऐसे उपकरणों के लिए सुविधाजनक है।
—
v.oddou
::
, मुझे लगता है कि कोई और रास्ता नहीं है।