Szerző Téma: Tag mismatch & Inconsistent return types(array & non-array)  (Megtekintve 1183 alkalommal)

Tag mismatch & Inconsistent return types(array & non-array)
« Dátum: 2012. Február 19. - 11:41:30 »
0
Sziasztok!
A problámám az lenne, hogy kapok egy tag mismatch, és egy inconsistent return types (array & non-array) errort.
Tag mismatch sora:
 
if(!sscanf(sor, \"s[32]f\", k,e) && !strcmp(kulcs, k)) return e;

 
De nem értem mi lehet a gond, mivel van még 3 majdnem ugyan ilyen sorom, de ezekre nem kapok errort:
 
if(!sscanf(sor, \"s[32]l\", k,e) && !strcmp(kulcs, k)) return e;
if(!sscanf(sor, \"s[32]d\", k,e) && !strcmp(kulcs, k)) return e;
if(!sscanf(sor, \"s[32]s[32]\", k,e) && !strcmp(kulcs, k)) return e;

 
Az e nevû változót lokálisan deklarálom, a várt visszatérési értéktõl függõen.
Inconsistent return types(array & non-array):
Nem jó a visszatérési érték.
Fontos, hogy a függvény egy szrtinggel tér vissza, ha sikeresen lefut, és nem jut el az utolsó returnig.
De ha nem, és eljut a függvény végéig, akkor nem tudom mivel térjek vissza.(próbáltam már egy üres sztring változóval, 1-el, 0-val, false-val, float változóval) de semelyik nem tetszik neki.
« Utoljára szerkesztve: 2012. Február 19. - 11:43:30 írta mauladam »

Tag mismatch & Inconsistent return types(array & non-array)
« Válasz #1 Dátum: 2012. Február 19. - 14:25:09 »
0
Be tudnád másolni az egész szkriptet? (az a rész is fontos lehet ahol létrehozod a változókat)

Tag mismatch & Inconsistent return types(array & non-array)
« Válasz #2 Dátum: 2012. Február 19. - 14:31:33 »
0
if(!fexist(fajlnev)) return 0;
new File:fajl = fopen(fajlnev, io_read);
new k[32],e[32];
while(fread(fajl, sor)){
   if(!sscanf(sor, \"s[32]s[32]\", k,e) && !strcmp(kulcs, k)) return e;
   continue;
}
return 0;

Tag mismatch & Inconsistent return types(array & non-array)
« Válasz #3 Dátum: 2012. Február 19. - 14:43:54 »
0
hol van az a \"kulcs\" változó?

Tag mismatch & Inconsistent return types(array & non-array)
« Válasz #4 Dátum: 2012. Február 19. - 14:47:58 »
0
Egy funkcióban/eljárásban nem lehet kétfajta visszatérést (return) alkalmazni.
\"return types (array & non-array)
Most vagy array visszatérést alkalmazol vagy nem array-t.
[pawn]
stock nonarray()
{
    new non_array;
    non_array = 100;
    return non_array;
}
stock array()
{
    new array[32];
    array = \"32cell\";
    return array;
}
[/pawn]

Tag mismatch & Inconsistent return types(array & non-array)
« Válasz #5 Dátum: 2012. Február 19. - 17:07:49 »
0
Köszönöm a segítséget, így már mûködött.
Viszont, hiába gondolkodtam a tag mismatchon, nem értem, mivel 4 majdnem ugyan olyan sor van, és csak azzal van baja.

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Tag mismatch & Inconsistent return types(array & non-array)
« Válasz #6 Dátum: 2012. Február 21. - 00:18:32 »
0
Ez ránézésre jó, de betudnád másolni, hogyan foglalod \"kulcs\" és a \"sör\" változót?
« Utoljára szerkesztve: 2012. Február 21. - 00:22:33 írta kurta999 »

Tag mismatch & Inconsistent return types(array & non-array)
« Válasz #7 Dátum: 2012. Február 25. - 13:47:29 »
0
Mod elején:
 
new sor[256];

 
A kulcs változó pedig a függvény sztring paramétere.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal