ist es generell möglich, innerhalb eines Konstruktors eine C-function aufzurufen, die in einer anderen Datei definiert ist?
Folgende Situation liegt vor:
Ich habe C-Code, der in meinem Qt-Programm verwendet werden soll. Das h-File fname.h:
Code: Alles auswählen
...
typedef struct{
int nflag;
...
} F_CONFIG;
F_CONFIG * get_config_ptr();
Code: Alles auswählen
#include "fname.h"
static F_CONFIG b_config; // das hat seine Gründe
F_CONFIG * get_config_ptr()
{
return (&b_config);
}
Code: Alles auswählen
#include "fname.h"
F_CONFIG * pb_config;
.. Konstruktor einer Klasse :
{ ...
pb_config = get_config_ptr(); <------ hier meldet der Compiler einen Fehler
... }
..::on_OKButton_clicked()
{ ...
pb_config->nflag = 0;
...
}
Ich verstehe nicht, warum der Compiler get_config_ptr() nicht kennt. Es ist doch fname.h als Include angegeben.
Der Versuch, die ersten beiden Zeilen von fparams.cpp in die Klassendefinition zu verschieben, ergibt die gleiche Fehlermeldung.
Das Problem ist vermutlich nicht Qt-spezifisch, aber vielleicht kann es ja dennoch hier gelöst werden.
Danke für Tipps