0
我有,當我試圖元素添加到我的地圖錯誤的地圖添加b2vec2,這裏是我的簡化代碼:與標準::對鍵和值
我有地圖:
std::map<std::pair<std::string, std::pair<int, b2Vec2> >, std::pair<std::string, std::pair<int, b2Vec2> > > myMap; `
b2Vec2 rVec (1, 1)
std::pair<std::string, std::pair<int, b2Vec2> > partA (std::make_pair ("test", std::make_pair(1, rVec)));
std::pair<std::string, std::pair<int, b2Vec2> > partB (std::make_pair ("testb", std::make_pair(1, rVec)));`
myMap[partA] = partB; //When I add this line i get an error when compiling.`
我得到錯誤:「對二進制表達式無效的操作數('const b2Vec2'和'const b2Vec2')。」 如果我用myMap
定義和初始化中的int類型替換每個b2Vec2類型,它就會起作用。所以我認爲b2Vec2只是一個問題,但我不明白。
看起來你錯過了你給出的例子片段中的一些代碼。例如,m_particleInteractTab的定義是什麼?你也可以在說出「我創建兩個std :: pair」之後開始一行代碼,它看起來不完整或者是多餘的。我想幫忙,但我需要看到更完整的代碼或更好的格式化代碼或類似可驗證的代碼。 –
對不起我的錯誤,我編輯了代碼。 – DaHerbalist
什麼是「b2Vec2」類型?你得到的錯誤是因爲它不少於比較運算符('operator <')。 – 1201ProgramAlarm