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

时间:2012-05-03 09:33:53

标签: c++ compiler-errors g++

我不能为我的生活找出编译器想要的东西。

任何有编译器消息经验的人都能帮我解读它想要的东西吗? 我甚至无法提供代码位,因为我不知道最近会发生什么。

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

http://pastebin.com/AxYMd6L8

似乎它抱怨SimpleMapSquare和它是一个分配器的东西? 这不是那样的。 SimpleMapSquare定义为:

#pragma once

namespace BlackDragonEngine
{
struct SimpleMapSquare
{
  int TileID;
};
}

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

我甚至不知道从哪里开始......请帮助。

编辑: 搜索“vector<”在我的项目中返回:http://i.imgur.com/g8L1l.png
我扩展了重要文件(我昨天创建的文件)

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

编辑2: 以下是“SimpleMapSquare”http://i.imgur.com/zedkh.png

的所有用法

EDIT3:
感谢Konrad,我能够确定确切的行并找到错误...忽略上面的搜索,因为我忘了包含* .inl文件(模板代码实现所在的位置)

2 个答案:

答案 0 :(得分:5)

您正在某处使用以下课程:

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

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

答案 1 :(得分:0)

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

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

你把它作为一个错误的参数传给了某个地方吗?