Szerző Téma: Változó méretének lekérdezése  (Megtekintve 986 alkalommal)

Változó méretének lekérdezése
« Dátum: 2015. Augusztus 10. - 08:21:11 »
0 Show voters
Sziasztok!
Bárhogy nézem, nem tudok rájönni miért ír ki hibát...
Tudnátok egy pillantást vetni rá? :)
Az első sorral van gond.
 
      for(new i; i < sizeof(PlayerInfo[playerid][Car]); i++)
{
    if(PlayerInfo[playerid][Car] == 0)
    {
        PlayerInfo[playerid][Car] = vehicleid;
    }
}

 

D:\\Sa-Mp\\gamemodes\\grandlarc.pwn(3525) : error 001: expected token: \"]\", but found \"-identifier-\"
D:\\Sa-Mp\\gamemodes\\grandlarc.pwn(3525) : error 029: invalid expression, assumed zero
D:\\Sa-Mp\\gamemodes\\grandlarc.pwn(3525) : error 029: invalid expression, assumed zero
D:\\Sa-Mp\\gamemodes\\grandlarc.pwn(3525) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
4 Errors.

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Változó méretének lekérdezése
« Válasz #1 Dátum: 2015. Augusztus 10. - 09:44:25 »
+1 Show voters
a hiba ott van, hogy a PlayerInfo tömböd az áll a PlayerInfo-ból, a MAX_PLAYERS-ből, és valószínűleg a Car-ból, jelen esetben. vagyis csak 2 tag van hozzá rendelve. de te a for ciklus alatt hozzá akarsz rendelni egy 3-at, de mivel a 3. tag nincs létrehozva a tömbnél, így nem tud vele mit kezdeni.
« Utoljára szerkesztve: 2015. Augusztus 10. - 09:46:51 írta JustaCube »

Változó méretének lekérdezése
« Válasz #2 Dátum: 2015. Augusztus 10. - 09:54:51 »
0 Show voters
És mit lehetne vele kezdeni?
Jelenleg így van:
[pawn]enum pData
{
Car[5]
}
new PlayerInfo[MAX_PLAYERS][pData];
[/pawn]

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Változó méretének lekérdezése
« Válasz #3 Dátum: 2015. Augusztus 10. - 10:00:23 »
+1 Show voters
valahogy máshogy kéne átgondolni az egészet, mert ez ebben a formában aligha fog működni. de még én is gondolkozom rajta kicsit. hátha addig valaki más megtalálja a megoldást :D
viszont egyszerűbb lenne, ha elárulnád, mit is akarsz ezzel a kóddal. mert nekem nem igazán van ötletem, hogy mire használnád.
« Utoljára szerkesztve: 2015. Augusztus 10. - 10:02:47 írta JustaCube »

Nem elérhető divkn

  • 3259
    • Profil megtekintése
Változó méretének lekérdezése
« Válasz #4 Dátum: 2015. Augusztus 10. - 10:03:18 »
+1 Show voters
Belebotlottál egy PAWN fordító bugba. sizeof esetében a tömb elemeknek üresnek kell lennie, így kérdezné le a méretét. Javítani tudtommal nem lehet, viszont ez a megoldás van csak.
 

#define MAX_CARS 30
enum playerInfo
{
playerName[20],
playerIp[15],
playerCar[MAX_CARS],
};
stock PlayerInfo[MAX_PLAYERS][playerInfo];
// Valahol a kódban:
for new i; i < MAX_CARS; i++ do
{
    PlayerInfo[playerid][Car] = 0
}

Változó méretének lekérdezése
« Válasz #5 Dátum: 2015. Augusztus 10. - 10:29:42 »
0 Show voters
Rendben, köszi a válaszokat majd kiötlök valamit. :/

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal