Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Unbekannte Funktion

Empfohlene Antworten

Veröffentlicht

Ich habe in einem nicht von mir stammenden Code eine nach C/C++ Richtlinien falsch deklarierte Funktion gefunden, und würde nun gerne wissen, ob es sich eventuell um eine andere Sprache handelt, oder ob es generell Nonsense ist.

void huge _pascal cgi_readvar(rpCgiPtr request)

Mein Borland 5.5 Compiler streikt hier völlig. Ist so etwas generell möglich (andere Compiler)? Oder handelt es sich schlicht um einen Syntaxfehler?

Passe ich die Sache an,

void huge_pascal_cgi_readvar (struct rpCgiPtr *request)

lässt sich der Code compilieren, jedoch mit einer Fehlermeldung bezüglich eines undefinierten Types innerhalb der Funktion, an der Stelle:

if (request -> fArgumentBufferLength == 0L) 

('fArgumentBufferLength' is not a member of 'rpCgiPtr', because the type is not yet defined in function huge_pascal_cgi_readvar(rpCgiPtr *))

Ist so etwas generell möglich (andere Compiler)? Oder handelt es sich schlicht um einen Syntaxfehler?
Es steht jedem Compilerhersteller frei, eigene Erweiterungen einzuführen. Die neuen Schlüsselwörter sollten zwar alle mit zwei Unterstrichen beginnen, aber daran hält sich nicht jeder. Bei "huge" handelt es sich vermutlich um einen Verweis auf ein Speichermodell. "_pascal" ist die Aufrufkonvention. Beides gehört jedenfalls nicht zum Funktionsnamen. Wenn du das mit einem anderen Compiler übersetzen willst, würde ich beides erstmal weglassen.

('fArgumentBufferLength' is not a member of 'rpCgiPtr', because the type is not yet defined in function huge_pascal_cgi_readvar(rpCgiPtr *))

Die Deklaration von rpCgiPtr (vermutlich ein Typedef auf eine Struktur) brauchst du auf jeden Fall, bevor du diesen Code compilieren kannst. Indem du "struct" davorschreibst, ist der Compiler zufrieden, solange du nur mit dem Zeiger selbst hantierst. Aber sobald du auf Member zugreifen willst, brauchst du die komplette Deklaration.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.