псевдоним с использованием vs typedef

Я работаю в школьной лаборатории и в инструкции говорится:

Измените typedef, который определяет Word_List, на объявление псевдонима (используя)

Из того, что я погуглил, способ сделать это состоит в том, чтобы изменить:

typedef vector<Word_Entry> Word_List;

чтобы:

using Word_List = std::vector<Word_Entry>;

но когда я компилирую, я получаю следующую ошибку:

error: expected nested-name-specifier before 'Word_List'

Большая часть кода:

#include <iostream>
#include <algorithm>
#include <list>
#include <string>
#include <vector>
#include <fstream>
#include <cctype>
#include <iomanip>

using namespace std;

struct Word_Entry
{
string ord;
unsigned cnt;
};

//typedef vector<Word_Entry> Word_List; <-This is what it used to look like
using Word_List = vector<Word_Entry>;int main()
{
...
}

дополнительная информация:

Yes, I am compiling with c++11
Word_Entry is a struct that stores 2 variables
I have the line "using namespace std;" in the begining of my code
I'm using mingw compiler

1

Решение

Вы можете увидеть решение здесь:

#include <string>
#include <vector>

using namespace std;

struct Word_Entry
{
string ord;
unsigned cnt;
};

//typedef vector<Word_Entry> Word_List; <-This is what it used to look like
using Word_List = vector<Word_Entry>;int main()
{
}

У вас ошибка конфигурации, вы не компилируете со спецификацией C ++ 11.

7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]