我想为全局变量提供一些外部参数。
我的实际代码是:
static const char conn_str[] =
"user='postgres' password='' host='127.0.0.1' port='5432' dbname='database'";
pqxx::connection C(conn_str);
pqxx::nontransaction N(C);
而且我希望能够使用 argv 参数提供代码,并且仍然使用连接 C 作为全局。
有什么想法吗?提前致谢...
所做的更改:
//I initialized
static const char conn_str[][150]="";
pqxx::connection* C(conn_str);
pqxx::nontransaction* N(C);
int main(int argc, char* argv[])
{
// code (....)
database=argv[4];
char data[]="dbname=%s user=postgres hostaddr=127.0.0.1 port=5432";
sprintf(conn_str,database);
C = new pqxx::connection(conn_str);
N = new pqxx::nontransaction (C);
OpenPSQL();
LoadHeader ();
LoadCustomers ();
LoadProducts ();
LoadTaxes ();
// code
delete C; //dont forget to delete it when you are done
delete N; //dont forget to delete it when you are done
}
我得到了这样的错误:
main.cpp:在函数 'void OpenPSQL()' 中:
main.cpp:268: 错误:在'C'中请求成员'is_open',它是非类类型'pqxx::connection*'</p>