variable aus **argv initialisieren in einem static int
-
Bashar schrieb:
Ja, diese Bedeutungen von static gibt es auch. Wie gesagt, 5.
Wie soll ich sowas den jetzt aufzählen am Ende fehlt doch eh noch irgendwas xD
Mach ich mal weiter fsosfjfiosjiogjiogioggigsggo0main.cpp
#include <iostream> #include "ichbinweiblich.h" using namespace std; int sagtesmirdocheinfach::ival=0; int main() { cout << sagtesmirdocheinfach::langweilig(); // 1 cout << sagtesmirdocheinfach::langweilig(); cout << sagtesmirdocheinfach::langweilig(); sagtesmirdocheinfach googlenutzerwuerdeneseuchdanken; googlenutzerwuerdeneseuchdanken.get_ival(); googlenutzerwuerdeneseuchdanken.get_ival(); cout << endl << sagtesmirdocheinfach::return_ival(); //2 // ka was ich noch nicht erwähnt habe return 0; }ichbinweiblich.h
#ifndef ICHBINWEIBLICH_H_INCLUDED #define ICHBINWEIBLICH_H_INCLUDED #include <iostream> using namespace std; class sagtesmirdocheinfach{ public: sagtesmirdocheinfach(){ ival++; }; static int langweilig(){return ival;} void get_ival(){ cout << ival << endl; } static int return_ival(){ return ival; } private: static int ival; }; #endif // ICHBINWEIBLICH_H_INCLUDED
-
Die Fehlermeldung zu Zeile 8 macht für mich keinen Sinn.
/home/cseipel/Code::Blocks Kram/GTK/test project/datenbankexperiment/main.cpp|8|error: invalid use of qualified-name ‘database::ival’|
||=== Build failed: 1 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|main.cpp
#include <iostream> #include "database.h" using namespace std; int main() { cout << "Hello world!" << endl; int Ddatabase::ival=0; // int database::domian=0; // int sagtesmirdocheinfach::ival=0; Ddatabase anime; anime.open_database(); anime.select(); anime.count(); // anime.get_domian(); // anime.insert(); return 0; }database.h
#ifndef DATABASE_H_INCLUDED #define DATABASE_H_INCLUDED #include <sqlite3.h> #include <iostream> #include <stdlib.h> using namespace std; class Ddatabase{ private: int argc; char* argv[]; sqlite3 *db; char *zErrMsg = 0; int rc; char *sql; const char* data = "Callback function called"; static int ival; public: Ddatabase(){ ival++; }; static int langweilig(){return ival;} // sagtesmirdocheinfach(){ ival++; }; // database(sqlite3 *wusch){db = wusch;}; static int callback(void *data, int argc, char **argv, char **azColName){ int i; // cout << "CALLBACK FUNKTION AUFGERUFEN\n"; for(i=0; i<argc; i++){ cout << azColName[i] << " = " << argv[i] << "\n"; } cout << "\n"; return 0; } static int Ccallback(void *data, int argc, char **argv, char **azColName){ int i; // cout << "CALLBACK FUNKTION AUFGERUFEN\n"; for(i=0; i<argc; i++){ cout << azColName[i] << " = " << argv[i] << "\n"; } cout << "\n"; return 0; } void open_database(){ rc = sqlite3_open("test.db", &db); if( rc ){ cout << "Datenbank kann nicht geöffnet werden: " << sqlite3_errmsg(db); }else{ cout << "Datenbank wurde erfolgreich geöffnet\n"; } } void select(){ sql = "SELECT * from Serien"; /* Execute SQL statement */ rc = sqlite3_exec(db, sql, callback, (void*)data, &zErrMsg); if( rc != SQLITE_OK ){ cout << "SQL error: " << zErrMsg << "\n"; sqlite3_free(zErrMsg); }else{ cout << "Operation wurde erfolgreich ausgeführt\n"; } } void count(){ sql = "SELECT count(*) FROM Serien"; /* Execute SQL statement */ rc = sqlite3_exec(db, sql, Ccallback, (void*)data, &zErrMsg); if( rc != SQLITE_OK ){ cout << "SQL error: " << zErrMsg << "\n"; sqlite3_free(zErrMsg); }else{ cout << "Operation wurde erfolgreich ausgeführt\n"; } } /* void get_domian(){ cout << "\nDOMIAN: " << domian; } */ }; #endif // DATABASE_H_INCLUDED
-
Tim schrieb:
Die Fehlermeldung zu Zeile 8 macht für mich keinen Sinn.
/home/cseipel/Code::Blocks Kram/GTK/test project/datenbankexperiment/main.cpp|8|error: invalid use of qualified-name ‘database::ival’|
||=== Build failed: 1 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|Wieso? Du versuchst quasi eine globale Variable lokal in einer Funktion zu definieren. Das kann doch nicht gehen.
Die Definition eines statischen Klassenmembers gehört in den globalen Gültigkeitsbereich. Mach noch eine database.cpp, definier dort die Variable, Link das Ergebnis zum Gesamtprogramm.
Den Rest des Codes habe ich mir jetzt nicht angesehen.
-
Tim schrieb:
Bashar schrieb:
Ja, diese Bedeutungen von static gibt es auch. Wie gesagt, 5.
Wie soll ich sowas den jetzt aufzählen am Ende fehlt doch eh noch irgendwas xD
Mach ich mal weiter fsosfjfiosjiogjiogioggigsggo0main.cpp
#include <iostream> #include "ichbinweiblich.h" using namespace std; int sagtesmirdocheinfach::ival=0; int main() { cout << sagtesmirdocheinfach::langweilig(); // 1 cout << sagtesmirdocheinfach::langweilig(); cout << sagtesmirdocheinfach::langweilig(); sagtesmirdocheinfach googlenutzerwuerdeneseuchdanken; googlenutzerwuerdeneseuchdanken.get_ival(); googlenutzerwuerdeneseuchdanken.get_ival(); cout << endl << sagtesmirdocheinfach::return_ival(); //2 // ka was ich noch nicht erwähnt habe return 0; }ichbinweiblich.h
#ifndef ICHBINWEIBLICH_H_INCLUDED #define ICHBINWEIBLICH_H_INCLUDED #include <iostream> using namespace std; class sagtesmirdocheinfach{ public: sagtesmirdocheinfach(){ ival++; }; static int langweilig(){return ival;} void get_ival(){ cout << ival << endl; } static int return_ival(){ return ival; } private: static int ival; }; #endif // ICHBINWEIBLICH_H_INCLUDEDrofl, made my day.
-
SeppJ schrieb:
Tim schrieb:
Die Fehlermeldung zu Zeile 8 macht für mich keinen Sinn.
/home/cseipel/Code::Blocks Kram/GTK/test project/datenbankexperiment/main.cpp|8|error: invalid use of qualified-name ‘database::ival’|
||=== Build failed: 1 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|Wieso? Du versuchst quasi eine globale Variable lokal in einer Funktion zu definieren. Das kann doch nicht gehen.
Die Definition eines statischen Klassenmembers gehört in den globalen Gültigkeitsbereich. Mach noch eine database.cpp, definier dort die Variable, Link das Ergebnis zum Gesamtprogramm.
Den Rest des Codes habe ich mir jetzt nicht angesehen.
Das hab ich mir Heute Vormittag auch gedacht als ich wieder auf den Code geguckt habe
Jetzt funktioniert der Mist mal endlich wirklich. Ich hoffe dieser Thread geht in die Geschichte des Forums ein!!!!!! Mal ganz abgesehn davon das ich echt froh bin das der Mist den ich hier unfreiwillig verzapft habe "relativ" anonym ist.