के लिए टाइपिफ़ को घोषित करना मुझे पता है कि टाइपिफ़ को सी ++ में घोषित नहीं किया जा सकता है, लेकिन मुझे आश्चर्य है कि निम्न समस्या के लिए सबसे अच्छा समाधान क्या हो सकता है। मैं एक हेडर फाइल जो MyClass
इस तरह की घोषणा की है:फॉरवर्ड एक टेम्पलेट क्लास
#include <TemplateClassHeaders>
struct MyStruct
{
// ...
}
typedef Really::Long::TemplateClassName<MyStruct> MyClass;
MyClass
कई स्थानों में प्रयोग किया जाता है, लेकिन ज्यादातर सिर्फ एक सूचक क्यूटी संकेत-स्लॉट तंत्र के माध्यम से पारित किया जा रहा है। एक आगे की घोषणा की आवश्यकता होगी, लेकिन MyClass
एक टाइपपीफ है जो काम नहीं करेगा। MyClass
पर पॉइंटर का उपयोग करने वाले प्रत्येक शीर्षलेख में myclass.h जोड़ने से बचने का कोई तरीका है?
'वर्ग MyClass;' गूगल, या यहाँ तक सुझाव दिया अतः लिंक पर, देख जब आप अपने सवाल लिख रहे होते हैं http://stackoverflow.com/questions/804894/forward-declaration-of-a प्रकट करना चाहिए -typedef-in-c? rq = 1 – mah
@mah इसे एक दूसरा विचार दे रहा है या कम से कम पूरे प्रश्न को स्वचालित रूप से इसे कम करने और मुझे एक समान प्रश्न (बिना टेम्पलेट्स और टेम्पलेट तर्कों के साथ) को इंगित करने के बजाय आपको बताएगा 'क्लास माई क्लास' काम नहीं करेगा (और फिर भी काम नहीं करेगा अगर पुनर्विक्रय के कारण कोई टेम्पलेट शामिल नहीं था)। – jaho
@Marian, 'क्लास MyClass;' कोई टेम्पलेट शामिल होने पर काम करेगा। –