Original C-style code
Environment* env = Environment::createEnvironment(Environment::Mode::DEFAULT);
Connection* conn = env->createConnection(db_user_name, db_password, db_conn_str);
...
env->terminateConnection(conn);
Environment::terminateEnvironment(env);
I try get C++ with RAII code like this
std::unique_ptr<Environment, decltype(&Environment::terminateEnvironment)>env (Environment::createEnvironment(Environment::Mode::DEFAULT), &Environment::terminateEnvironment);
std::unique_ptr<Connection, decltype(&Environment::terminateConnection))>con(env->createConnection(db_user_name, db_password, db_conn_str), &(env->terminateConnection));
It's work in first line, but I get error with second line. I newbie in smart pointers. How I can get unique_ptr for Connection pointer???