我在c ++中实现了一些函数来处理sql-queries和东西。因为我使用相同的句柄在不同的函数中执行此操作,所以我将句柄作为参数(实际上我想要对句柄的引用 - 但我是c ++的新手,并且仍然无法理解指针背后的概念等等)。
因为错误消息说,没有带x参数的函数,但实际上有一个(也有一个前向声明),我认为,我想要的定义和用途它有些不对。
这是前瞻声明:
static HRESULT
_OpenDatabase(
LPCWSTR connectionString,
SQLHANDLE hdlStmt,
SQLHANDLE hdlEnv,
SQLHANDLE hdlConn
);
调用(将连接字符串作为输入:__ in LPCWSTR ConnectString)
SQLHANDLE hdlStmt = INVALID_HANDLE_VALUE;
SQLHANDLE hdlEnv = INVALID_HANDLE_VALUE;
SQLHANDLE hdlConn = INVALID_HANDLE_VALUE;
hr = _OpenDatabase(
ConnectString,
&hdlStmt, // this might be wrong?
&hdlEnv, // and this
&hdlConn // and this
);
我做错了什么?
答案 0 :(得分:0)
您将&
放在参数前面。为什么?您有3 SQLHANDLE
,需要3 SQLHANDLE
。