Неопределенные идентификаторы

Я пытаюсь перекомпилировать исходный код старой игры, который не был написан мной, и я не знаю, какой компилятор использовался для компиляции.
Я получаю неопределенные ошибки идентификатора в файле, которые я не могу выяснить. Ошибки такие:

Error : Undefined identifier 'begin'
Error : Undefined identifier 'capacity'
Error : Undefined identifier 'size'
Error : Undefined identifier 'back'
Error : Undefined identifier 'pop_back'

Я почти уверен, что мне не хватает одного или двух заголовочных файлов. Есть идеи, какие заголовки мне там не хватает?
PS: я использую CodeWarrior IDE, если это поможет.

Редактировать: —

Вот строки кода, которые дают ошибки —

const OzU32 nCapacity = OzU32(capacity());
const OzU32 nAllocated = Capacity() - OzU32(size());
std::transform(
m_pPoolMemory,
m_pPoolMemory + nCapacity,
begin(),
std::ptr_fun(SetPointer<Type>));

-1

Решение

Похоже, что ваш компилятор либо пропускает часть стандартной библиотеки, либо неправильно установлен / настроен.

Вы также можете:

  1. Исправьте конфигурацию компилятора (особенно проверьте пути включения)

  2. Переключиться на другой компилятор

  3. Установите стороннюю версию отсутствующей библиотеки (посмотрите на STLport)

  4. Замените код в программе, над которой вы работаете, используйте отсутствующие классы библиотек.

1

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

На самом деле были некоторые другие заголовочные файлы с такими же именами методов, что вызывало путаницу в компиляторе. Поэтому я просто добавил векторное пространство имен перед именем метода, чтобы разобраться с этим. Как это —

vector<Type>::begin()

И да, это был вектор.

0

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