El Sábado 20 Mayo 2006 21:40, Brannon King escribió: > Is it declared as a static function? Something like "static int > bd::analisis_ultimo(void* arg)" ? I assume it would need to be static > just like all the other thread function parameters or callback > parameters in various APIs. > > Esteban Zeller wrote: > > I'v got the next problem: > > > > string cola = "SELECT * FROM ultimo;"; > > char zErrMsg; > > int ret = sqlite3_exec( base_datos, cola.c_str(), (bd::analisis_ultimo), > > 0, &zErrMsg ); > > .... > > > > the compiler tell me this: > > > > /home/Programas/preguntas/src/bd.cpp:151: error: no matches converting > > function `analisis_ultimo' to type `int (*)(void*, int, char**, char**)' > > > > the functions uses the same prototipe of the example but it's inside of a > > class
If I get it declared static the compiler say the next: /home/Programas/preguntas/src/bd.cpp: At global scope: /home/Programas/preguntas/src/bd.cpp:168: error: cannot declare member function `static int bd::analisis_ultimo(void*, int, char**, char**)' to have static linkage here is part of the code: ultima_entrada * bd::cargar_ultimo_uso() { string cola = "SELECT * FROM ultimo;"; char *zErrMsg; int ret = sqlite3_exec( base_datos, cola.c_str(), (bd::analisis_ultimo), 0, &zErrMsg ); if( ret != SQLITE_OK ) { cout<<"Error al ejecutar la consulta SQL:"<<cola<<endl; cout<<"Numero de error:"<<ret<<endl; cout<<"Descripcion del error:"<<zErrMsg<<endl; } else { return( ultima ); } } static int bd::analisis_ultimo( void *NotUsed, int argc, char **argv, char **azColName ) { int i; for(i=0; i<argc; i++){ printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL"); } printf("\n"); return 0; } ___________________________________________________________ 1GB gratis, Antivirus y Antispam Correo Yahoo!, el mejor correo web del mundo http://correo.yahoo.com.ar