Использование vs typedef в классе - PullRequest
0 голосов
/ 10 июля 2019

Я думал, что новый синтаксис 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?

...