Я думал, что новый синтаксис using
в C ++ 11 и typedef
были эквивалентны (за исключением шаблонов). Но кажется, что с using
также невозможно объявить члена класса.
class A {
//... Public members
private:
typedef std::vector<double> vector_double;
using vector_int = std::vector<int>;
void bar(vector_double& vecDouble); // type can be used
void foo(vector_int& vecInt); // type can't be used: synatx error
// ... Possible other private members
}
Когда я пытаюсь использовать тип vector_int
в одной из функций-членов класса A, я получаю ошибку компилятора: syntax error: identifier 'vector_int'
.
Я что-то здесь не так делаю или определение типа члена невозможно с помощью using
?