Ich habe ein Problem mit dem Schlüsselwort 'using' in C++ 11. Dieser Codeabschnitt sollte einen Alias für einen Zeiger auf einen anderen Typ erstellen.Vorlagen-Alias für einen anderen Alias
template <typename T>
class SomeClass
{
typedef typename std::add_pointer<T>::type pointer;
template <typename U>
using rebind_pointer = typename std::pointer_traits<pointer>::rebind<U>;
}
SomeClass<int> obj;
Aber in gcc 4.7 Ich habe Kompilierungsfehler bekam:
typename std::pointer_traits<int*>::rebind
namestemplate<class _Up> using rebind = _Up*
, which is not a type
Ich fand heraus, dass pointer_traits :: rebind eine Vorlage alias selbst, dass so vielleicht ist Problem?