Znam trudności przy zadeklarowaniu typu szablonowego, jak pokazano poniżej.Deklaracja szablonu `typedef nazwa_pliku Foo <T> :: Bar Bar '
#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;
}
mi się błąd
template declaration of `typedef typename Foo<T>::Bar Bar'
o linię
template <class T>
typedef typename Foo<T>::Bar Bar;
Robię to, ponieważ chcę uniknąć pisania typename Foo :: Bar przechadzkę mój kod.
Co robię źle?
Dziękujemy! wszyscy byliście równie pomocni. Chciałbym móc przyjąć wszystkie trzy otrzymane odpowiedzi. W każdym razie zagłosuję na wszystkie trzy odpowiedzi. – geraldCelente
@geraldCelente: Nie wydaje mi się, żeby to miało znaczenie, a nikt nie byłby zmartwiony - wybierz jakąkolwiek odpowiedź, którą uznasz za najbardziej użyteczną :-) (Lub rzuć monetą.) –
Czy istnieje biblioteka (np .: boost), która zapewnia "rezerwę? "dla kompilatorów, które wciąż spadają z modemu C++ 11 (jak kompilatory gcc/mingw)? –