IF-Forum

» IF-Forum - Autorencafé - Schreiben! - Warning: Using '-->' to access a -> or string array
AntwortenNeues ThemaNeue Umfrage

Warning: Using '-->' to access a -> or string array

Geschrieben um 12:19 am 31.01.2005 | Zitat | Editieren | Löschen
Kris
Mitglied
Dr Gumby
Beiträge: 181

Hallo,

ich habe da seit einiger Zeit ein Problem.

Ich habe die dunno.h als Gerüst verwendet, um unbekannte Worte und Verben wieder als unbekannt auszugeben.

Selbst vor eigener Erweiterung kommt beim Compilieren diese Fehlermeldung:

Warning: Using '-->' to access a -> or string array

und zwar an dieser Stelle:



  numwds = parse-->0;   !Diese Zeile löst die Warnung aus!

#ifnot;```

Bisher habe ich es ignoriert da alles ohne bemerkbare Fehler lief, habe neulich aber mit der NounDomain() experimentiert und sie verändern wollen. Also habe ich sie über Replace ersetzt, und dann bekomme ich für jedesmal, wo im Code "-->" steht, eine solche Warnung.

Warum beschwert sich der Compiler nicht, wenn NounDomain aus der parserm.h compiliert wird?

Ich habe im Game Author's Guide to Glulx Inform gesucht, aber nichts passendes gefunden.

Hat da jemand ähnliche Erfahrungen gemacht? (ChrisW, du werkelst doch auch gerade mit Glux herum)

Zur Info: Ich arbeite mit Inform 6.30. und der infglk.h und hier sind die switches:

+language_name=German $DICT_WORD_SIZE=19 $MAX_STATIC_DATA=20000 -G

Dank im voraus

Kris
Geschrieben um 16:12 am 31.01.2005 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Prof Gumby
Beiträge: 634
<td valign="top"><div class="post"><p><strong>Kris:</strong></p> <blockquote> <p>Warum beschwert sich der Compiler nicht, wenn NounDomain aus der parserm.h compiliert wird?</p> </blockquote> <p>Weil parserm.h wie alle Dateien der Lib als <strong>System_file</strong> deklariert ist und daher Warnungen unterdrückt werden.</p> <p>Dummerweise ist <strong>parse</strong> im Z-Code ein Mischfeld, so dass man byte- und wortweise darauf zugreifen muss. In Glulx jedoch enthält das Feld parse nur Wörter, wie <a href="http://www.firthworks.com/roger/informfaq/ii.html#14">Roger Firth im Inform FAQ</a> beschreibt. Es ist aber einfach falsch deklariert, auch in der neuen Lib. Du kannst vermutlich ohne Bedenken die Zeile 402 in parserm.h:</p> <pre><code class="language-Array&amp;nbsp;"></code></pre> <p>abändern in:```Array  parse     --&gt; PARSE_BUFFER_LEN;</p> <pre><code> (Behaupte ich mal...) Ansonsten wirst du die Warnungen nicht umgehen können. (Du kannst deine neue **NounDomain** nicht in ein eigenes System_file packen, da die Replace-Direktive genau diese Dateimarkierung benutzt, um festzustellen, welche **NounDomain** es nun kompilieren soll: Es ignoriert die in Systemdateien und erzeugt die, die es in einem nicht als Systemdatei markierten Quelltext findet.) Mit der Compileroption -w werden Warnungen übrigens komplett unterdrückt.</code></pre></div></td>
Geschrieben um 16:44 am 31.01.2005 | Zitat | Editieren | Löschen
Kris
Mitglied
Dr Gumby
Beiträge: 181

Ok.

Da man es ja nun doch bedenkenlos ignorieren kann, lasse ich aber alles mal so, wie im Original. Bei buffer (Zeile 401) z.B. gibt er in jedem Fall eine Warnung raus - daher, wie gesagt, lasse ich alles so, wie es ist.

Vielen Dank für die Info

Kris

AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz