请帮助我在这个编译器错误的丛林中找到实际错误

Please help me find the actual error in this jungle of compiler errors

本文关键字:错误 林中找 编译器 帮助      更新时间:2023-10-16

我一辈子都无法弄清楚编译器想从我这里得到什么。

任何有编译器消息经验的人都可以帮我破译它想要什么吗?我什至无法提供代码位,因为我不知道发生了什么。

我正在使用 g++-4.7 和 -std=c++11

http://pastebin.com/AxYMd6L8

似乎它抱怨SimpleMapSquare以及它是分配器?这完全不是那样的。SimpleMapSquare被定义为:

#pragma once
namespace BlackDragonEngine
{
struct SimpleMapSquare
{
  int TileID;
};
}

我昨天写了大约 400+ 行模板化代码,只是试图在我的主应用程序中包含它的标题,然后发生这种情况......

我什至不知道从哪里开始...请帮忙。

编辑:在我的项目中搜索"vector<"会返回以下内容:https://i.stack.imgur.com/hkOSu.png
我扩展了启示文件(我昨天创建的文件(

我编写了这么多代码而不进行测试的原因是因为我正在将引擎从 C# 转换为 C++,所以逻辑方面已经正确,我无法测试不完整的代码。

编辑2:以下是"SimpleMapSquare"的所有用法 https://i.stack.imgur.com/GKC8G.png

编辑3:
多亏了康拉德,我才能精确定位确切的线并找到错误......忽略上面的搜索,因为我忘记包含 *.inl 文件(模板代码实现所在的位置(

你在某处使用以下类:

class std::vector<sf::Vector2<int>, BlackDragonEngine::SimpleMapSquare>

std::vector的第二个类型参数是分配器类型!

看起来SimpleMapSquare应该包含类型value_typepointerreference的定义。

这就像STL将SimpleMapSquare视为迭代器,分配器或其他需要类的特征一样。

您是否将其作为错误的参数传递给某处?