title: C++ error: ISO C++ forbids declaration. with no type
body: <p>Can someone help me with this problem please?<br />
  How can i do make this lines to can compile good?</p>
  <blockquote>
  <p>ClientManager.h:332: error: expected ',' or '...' before '*' token</p>
  <p>ClientManager.h:332: error: ISO C++ forbids declaration of 'TPacketGDCombatZoneResetRanking' with no type</p>
  <p>ClientManager.h:333: error: expected ',' or '...' before '*' token</p>
  <p>ClientManager.h:333: error: ISO C++ forbids declaration of 'TPacketGDCombatZoneSkillsCache' with no type</p>
  </blockquote>
  <p><strong>ClientManager.h</strong> line 332 - 333</p>
  <pre><code>void        CombatZoneResetRanking(const TPacketGDCombatZoneResetRanking* p);
  void        UpdateSkillsCache(const TPacketGDCombatZoneSkillsCache* p);
  </code></pre>
  <p><strong>ClientManager.cpp</strong> function</p>
  <pre><code>void CClientManager::CombatZoneResetRanking(const TPacketGDCombatZoneResetRanking* p)
  {
      CDBManager::instance().DirectQuery(&quot;UPDATE player.player SET combat_zone_rank = 0 WHERE combat_zone_rank &gt; 0&quot;);
      std::auto_ptr&lt;SQLMsg&gt; pMsg(CDBManager::instance().DirectQuery(&quot;SELECT * FROM player.combat_zone_ranking_weekly ORDER BY memberPoints DESC LIMIT 3&quot;));   
      if (pMsg-&gt;Get()-&gt;uiNumRows == 3)
      {
          MYSQL_ROW row;
          int memberRank = 1;
          char szQuery[512 + 1];
          while ((row = mysql_fetch_row(pMsg-&gt;Get()-&gt;pSQLResult)))
          {
              sprintf(szQuery, &quot;UPDATE player.player SET combat_zone_rank = '%d' WHERE name = '%s'&quot;, memberRank, row[0]);
              CDBManager::instance().DirectQuery(szQuery);
              memberRank++;
          }
      }
      else {
          sys_err(&quot;The giving ranking medals not was possible because not was exist 3 players on ranking weekly.&quot;);
      }
      CDBManager::instance().DirectQuery(&quot;TRUNCATE TABLE player.combat_zone_ranking_weekly&quot;);
  }
  void CClientManager::UpdateSkillsCache(const TPacketGDCombatZoneSkillsCache* p)
  {
      char szQuery[2048 + 1];
      sprintf(szQuery, 
          &quot;INSERT INTO player.combat_zone_skills_cache (pid, skillLevel1, skillLevel2, skillLevel3, skillLevel4, skillLevel5, skillLevel6) &quot;
              &quot;VALUES('%d', '%d', '%d', '%d', '%d', '%d', '%d') &quot;
                  &quot;ON DUPLICATE KEY UPDATE skillLevel1 = '%d', skillLevel2 = '%d', skillLevel3 = '%d', skillLevel4 = '%d', skillLevel5 = '%d', skillLevel6 = '%d'&quot;, 
                      p-&gt;dwPID, p-&gt;dwSkillLevel1, p-&gt;dwSkillLevel2, p-&gt;dwSkillLevel3, p-&gt;dwSkillLevel4, p-&gt;dwSkillLevel5, p-&gt;dwSkillLevel6, p-&gt;dwSkillLevel1, p-&gt;dwSkillLevel2, p-&gt;dwSkillLevel3, p-&gt;dwSkillLevel4, p-&gt;dwSkillLevel5, p-&gt;dwSkillLevel6);
      CDBManager::instance().DirectQuery(szQuery);
  }
  </code></pre>
  <p>cases:</p>
  <pre><code>case HEADER_GD_COMBAT_ZONE_RESET_RANKING:
      CombatZoneResetRanking((TPacketGDCombatZoneResetRanking*)data);
      break;
      
  case HEADER_GD_COMBAT_ZONE_SKILLS_CACHE:
      UpdateSkillsCache((TPacketGDCombatZoneSkillsCache*)data);
      break;
  </code></pre>