Back to slide -- Keyboard shortcut: 'u'        next -- Keyboard shortcut: 'n'          containers/member-types/ambiguities-1.cpp - Illustration of a couple of ambiguities.Lecture 6 - slide 14 : 40
Program 1

// Example of an ambiguity: 

#include <vector>

int x = 5;

template<typename T>double f(){      // The name iterator depends on T (it is a dependent name, page 746 (4ed)).
  T::iterator *x;                    // Ambiguity 1:  
                                     //   T::iterator multiplied by x    OR
                                     //   x declared as a pointer to the type named T::iterator
  // ...
}

int main(){
  f<std::vector<double>>();          // Ambiguity 2:
                                     //  >>   shift right   OR
                                     //  end of nested template argument list
}