Вопрос

Мой C++ немного заржавел, так что...

#include<list>
typedef list<int> foo;

это дает мне такое приятное сообщение об ошибке:

тест.cpp:2:Синтаксическая ошибка перед `; ' токен

Какого черта я могу вообще гуглить в этом...

Это было полезно?

Решение

Вы ожидаете, что список будет находиться в глобальном пространстве имен.Но определяется внутри пространства имен std.Следовательно, либо вы должны использовать using namespace std; или явно укажите пространство имен как std::list; Лично я предпочитаю второй вариант.

Другие советы

Имена C++ Стандартная библиотека находится в пространстве имен std

#include <list>
typedef std::list<int> foo;

list<> находится в пространстве имен STD.Это должно работать нормально:

#include<list>
typedef std::list<int> foo;

В качестве альтернативы вы можете сделать,

#include<list>
using namespace std;
typedef list<int> foo;

если ты не хочешь печатать std:: повсюду.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top