2012-05-03 27 views
0

我不能爲我的生活弄清楚編譯器想要從我那裏得到什麼。請幫我看看這個編譯器錯誤叢林中的實際錯誤

任何有編譯器消息經驗的人都可以幫我解釋它所需的東西嗎? 我甚至不能提供代碼位,因爲我不知道發生了什麼事情。

我用G ++ - 4.7與-std = C++ 11

http://pastebin.com/AxYMd6L8

看來它抱怨SimpleMapSquare和一些關於它是一個allocator? 沒關係。 SimpleMapSquare被定義爲:

#pragma once 

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

我寫了400多個模板的代碼行昨天只是想包括它的頭,我主要的應用程序和繁榮出現這種情況...

我不甚至知道從哪裏開始...請幫助。

編輯: 在我的項目爲「矢量<」的搜索將返回此:http://i.imgur.com/g8L1l.png
我擴大了revelant文件(我創建的那些昨天)

我寫了這麼多的代碼,而測試是因爲原因我將我的引擎從C#轉換爲C++,因此邏輯端已經正確,我無法測試不完整的代碼。

編輯2: 這裏是「SimpleMapSquare」的所有用途http://i.imgur.com/zedkh.png

EDIT3:
感謝康拉德我能夠得到精確的線路,找到錯誤...忽略上面我忘記了搜索包括* .INL文件(其中模板代碼執行所在)

+3

第一課:不要編寫400個未經測試/未編譯的代碼。一點一點地寫和測試。 – Shahbaz

+2

下次,**請**提供相關代碼!錯誤消息清楚地顯示了錯誤的上下文(所提及的「此處需要的所有內容」都是一個錯誤的贈品​​)。 –

+0

「我甚至不知道從哪裏開始。」從第一個錯誤開始,逐個修復它們。這是傳統的做法。 – SigTerm

回答

5

您在某處使用下面的類:

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

的秒ond類型參數std::vector是分配器類型!

+0

這就是我的想法,但我做了一個搜索,無處找到像這樣的用法。以下是搜索結果:http://i.imgur.com/g8L1l.png我擴展了昨天創建的相關類。 – xNidhogg

+0

@xNidhogg我認爲這裏的編譯器很清楚。 – juanchopanza

+0

@xNidhogg請注意,每個地方都可能有空格,如'vector <'嘗試搜索'SimpleMapSquare'的用法。但即使這樣也不是萬無一失的,因爲它可能被用在模板中。 **但是這都是不必要的**因爲錯誤信息給你一個行號! ... TileMap.inl:42 –

0

看起來像SimpleMapSquare shold包含類型的定義value_type,pointerreference

這就像STL將SimpleMapSquare視爲一個迭代器,分配器或其他需要類的特徵。

你把它作爲一個錯誤的參數傳遞了嗎?