У меня возникла проблема при использовании нового ключевого слова C++ 11 using
. Насколько я понимаю, это псевдоним для typedef
. Но я не могу его скомпилировать. Я хочу определить псевдоним для итератора std::vector
. Если я использую это, все работает отлично.Использование vs. typedef для std :: vector :: iterator
typedef std::vector<fix_point>::iterator inputIterator;
Но если я стараюсь:
using std::vector<fix_point>::iterator = inputIterator;
код не компилируется с:
Error: 'std::vector<fix_point>' is not a namespace
using std::vector<fix_point>::iterator = inputIterator;
^
Почему это не компилировать?
Я понятия не имел, 2-й один был законным. Я надеюсь, что никто не использует его в коде ... – Barry
@Barry Это я иногда использовал вторую декларацию. :) –