Funktion erwartet "falsche" Parameter
-
Hallo,
Gegeben sei:
extern bool parse_command_line(int argc, char *argv[], const char** ppdb, const char** ppserver, const char** ppuser, const char** pppass, const char* extra_parms = ""); int main(int argc, char *argv[]) { const char* db = 0, *server = 0, *user = 0, *pass=""; const char*); if (!parse_command_line(argc, argv, &db, &server, &user, &pass)) { return 1; }und
const char* db = 0, *server = 0, *user = 0, *pass = ""; if (!parse_command_line(argc, argv, &db, &server, &user, &pass)) { return 1;Der Compiler meckert hierbei:
gg.cpp:(.text+0x65): undefined reference to `parse_command_line(int, char**, char const**, char const**, char const**, char const**, char const*)'Ich finde den fehler nicht, vermute jedoch dass es daran liegt dass kein siebter paramater übergeben wird. Der Code stammt jedoch von:
http://tangentsoft.net/mysql++/doc/html/userman/tutorial.html#simple
Wo liegt bitte der Fehler und wie ist er zu beheben?
-
Der Linker kann keine Funktionsdefinition finden. Zwei Möglichkeiten:
a) Es ist keine Definition vorhanden (du zeigst in deinem Code keine).
b) Du hast zwar eine Definition, aber in einer Datei die dem Linker nicht angegeben wurde.
-
extern bool parse_command_line(int argc, char *argv[], const char** ppdb, const char** ppserver, const char** ppuser, const char** pppass, const char* extra_parms = "");Hier, nein?
Eigentlich möchte ich nur das erwähnte Beispiel verwenden:
http://tangentsoft.net/mysql++/doc/html/userman/tutorial.html#simpleIn der nächsten Funktion tritt allerdings ein ähnliches Problem auf...
-
wabbul schrieb:
extern bool parse_command_line(int argc, char *argv[], const char** ppdb, const char** ppserver, const char** ppuser, const char** pppass, const char* extra_parms = "");Hier, nein?
Das ist eine (extern)-Deklaration. Die macht nur den Namen + Signatur bekannt.