-1

我正在尝试重新编译一个旧游戏的源代码,它不是由我编码的,我不知道使用哪个编译器来编译它。
我在一个我无法弄清楚的文件中收到未定义的标识符错误。错误是这样的 -

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>));
4

2 回答 2

1

看起来您的编译器要么缺少某些标准库,要么没有正确安装/配置。

您可以:

  1. 修复编译器的配置(特别是检查包含路径)

  2. 切换到不同的编译器

  3. 安装缺少库的第三方版本(查看stlport

  4. 替换您正在处理的程序中使用缺少的库类的代码

于 2013-06-19T08:55:33.970 回答
0

实际上还有一些其他头文件具有相同的方法名称,导致编译器混淆。所以我只是在方法名称前面添加了向量命名空间来解决它。像这样 -

vector<Type>::begin()

是的,它是矢量。

于 2013-06-19T09:34:41.170 回答