• This is a read only backup of the old Emudevs forum. If you want to have anything removed, please message me on Discord: KittyKaev

[SOLVED] Compile Errors

Status
Not open for further replies.

Intouch

Respected Member
Hello guys, I have some compile errors which I don't know to fix:

Code:
[SIZE=1]6>C:\Users\Desktop\TrinityCore\GitCore\src\server\game\Battlegrounds\ArenaTeam.cpp(998): error C2039: 'first' : is not a member of 'ArenaTeamMember'
6>          c:\users\desktop\trinitycore\gitcore\src\server\game\battlegrounds\ArenaTeam.h(90) : see declaration of 'ArenaTeamMember'
6>C:\Users\Desktop\TrinityCore\GitCore\src\server\game\Battlegrounds\ArenaTeam.cpp(998): error C2039: 'second' : is not a member of 'ArenaTeamMember'
6>          c:\users\desktop\trinitycore\gitcore\src\server\game\battlegrounds\ArenaTeam.h(90) : see declaration of 'ArenaTeamMember'
6>C:\Users\Desktop\TrinityCore\GitCore\src\server\game\Battlegrounds\ArenaTeam.cpp(998): error C2227: left of '->CaptainGuid' must point to class/struct/union/generic type
6>          c:\users\desktop\trinitycore\gitcore\src\server\game\battlegrounds\ArenaTeam.h(90) : see declaration of 'ArenaTeamMember'
6>C:\Users\Desktop\TrinityCore\GitCore\src\server\game\Battlegrounds\ArenaTeam.cpp(998): error C2227: left of '->Type' must point to class/struct/union/generic type
6>C:\Users\Desktop\TrinityCore\GitCore\src\server\game\Battlegrounds\ArenaTeam.cpp(1000): error C2039: 'second' : is not a member of 'ArenaTeamMember'
6>          c:\users\desktop\trinitycore\gitcore\src\server\game\battlegrounds\ArenaTeam.h(90) : see declaration of 'ArenaTeamMember'[/SIZE]

Here is that part of code:

Code:
        for (std::unordered_map<uint32, ArenaTeam*>::iterator itrMgr = sArenaTeamMgr->GetArenaTeamMapBegin(); itrMgr != sArenaTeamMgr->GetArenaTeamMapEnd(); itrMgr++)
        {
            if (++itr->first < 0xFFF00000 && ++itr->second->CaptainGuid == itr->Guid && ++itr->second->Type == ARENA_TEAM_5v5)
            {
                plrArenaTeam = ++itr->second; // found!
                break;
            }
        }
 

Intouch

Respected Member
It's from ArenaTeam.cpp

Here is more code (in diff version):

Code:
@@ -874,6 +951,102 @@ void ArenaTeam::UpdateArenaPointsHelper(std::map<uint32, uint32>& playerPoints)
 
 void ArenaTeam::SaveToDB()
 {
+    if (TeamId < 0xFFF00000)
+    {
+        SaveToDBHelper();
+        return;
+    }
+
+    ArenaTeam* realTeams[3];
+    uint32 itrRealTeam = 0;
+    for (; itrRealTeam < 3; itrRealTeam++)
+        realTeams[itrRealTeam] = NULL;
+    itrRealTeam = 0;
+
+    uint32 oldRating = 0;
+
+    for (MemberList::const_iterator itr = Members.begin(); itr != Members.end(); ++itr)
+    {
+        ArenaTeam* plrArenaTeam = NULL;
+
+        // Find real arena team for player
+        for (std::unordered_map<uint32, ArenaTeam*>::iterator itrMgr = sArenaTeamMgr->GetArenaTeamMapBegin(); itrMgr != sArenaTeamMgr->GetArenaTeamMapEnd(); itrMgr++)
+        {
+            if (itrMgr->first < 0xFFF00000 && itrMgr->second->CaptainGuid == itr->Guid && itrMgr->second->Type == ARENA_TEAM_5v5)
+            {
+                plrArenaTeam = itrMgr->second;
+                break;
+            }
+        }
 

frost

Banned
omg noone wants your scripts dude!!! post the whole freaking thing like tommy asked or your not going to find the issue...........
 

Rochet2

Moderator / Eluna Dev
omg noone wants your scripts dude!!! post the whole freaking thing like tommy asked or your not going to find the issue...........

He posted pretty much exactly what was asked for though. Agree full code should be posted.
Code:
typedef std::list<ArenaTeamMember> MemberList;
MemberList     Members;
MemberList::const_iterator itr = Members.begin()

So itr is a list iterator. There is no first and second, just
const ArenaTeamMember& member = (*itr);

From this I assume there is a mistake in the script and itr should be itrMgr.
Actually if you look at the diff closer, it confirms that the diff was applied wrongly and that it should be itrMgr.
 
Last edited:

Tommy

Founder
He posted pretty much exactly what was asked for though. Agree full code should be posted.
Code:
typedef std::list<ArenaTeamMember> MemberList;
MemberList     Members;
MemberList::const_iterator itr = Members.begin()

So itr is a list iterator. There is no first and second, just
const ArenaTeamMember& member = (*itr);

From this I assume there is a mistake in the script and itr should be itrMgr.
Actually if you look at the diff closer, it confirms that the diff was applied wrongly and that it should be itrMgr.

That's what I thought to begin with but I wasn't sure since parts of the code was pasted.
 
Status
Not open for further replies.
Top