का टेम्प्लेट घोषणा मुझे नीचे दिखाए गए टेम्पलेट प्रकार की घोषणा करने में बड़ी कठिनाई का सामना करना पड़ रहा है।`typedef typename foo <T> :: बार बार '
#include <cstdlib>
#include <iostream>
using namespace std;
template <class T>
class Foo
{
typedef T Bar;
};
template <class T>
typedef typename Foo<T>::Bar Bar;
int main(int argc, char *argv[])
{
Bar bar;
Foo<int> foo;
system("PAUSE");
return EXIT_SUCCESS;
}
मैं त्रुटि
template declaration of `typedef typename Foo<T>::Bar Bar'
लाइन
template <class T>
typedef typename Foo<T>::Bar Bar;
के बारे में मैं यह कर रहा हूं क्योंकि मैं लिख typename फू :: बार मेरी कोड सोचा से बचने चाहते हैं।
मैं क्या गलत कर रहा हूं?
धन्यवाद! आप सभी समान रूप से सहायक रहे हैं। काश मैं प्राप्त तीनों उत्तरों को स्वीकार कर सकता हूं। वैसे भी मैं सभी तीन उत्तरों को वोट दूंगा। – geraldCelente
@geraldCelente: मुझे नहीं लगता कि यह मायने रखता है या कोई परेशान होगा - जो भी जवाब आपको सबसे उपयोगी लगता है :-) (या सिक्का टॉस करें।) –
क्या एक पुस्तकालय है (उदाहरण: बूस्ट) जो "बैकअराउंड" प्रदान करता है "उन कंपाइलरों के लिए जो अभी भी सी ++ 11 बैंडवैगन (जीसीसी/मिंगव कंपाइलर्स की तरह) से गिर रहे हैं? –