SQLHANDLE参数:函数不接受x参数(但实际上它接受) 我在C++中实现了一些函数来处理SQL查询和数据。因为我使用相同的句柄在不同的函数中做这个操作,所以我把句柄作为参数(实际上我想引用句柄——但是我是C++新手,而且还很难理解指针后面的概念等等)。

SQLHANDLE参数:函数不接受x参数(但实际上它接受) 我在C++中实现了一些函数来处理SQL查询和数据。因为我使用相同的句柄在不同的函数中做这个操作,所以我把句柄作为参数(实际上我想引用句柄——但是我是C++新手,而且还很难理解指针后面的概念等等)。,c++,parameters,reference,C++,Parameters,Reference,因为错误消息说,没有带x参数的函数,但实际上有一个(还有一个转发声明),我认为,我试图对它进行的定义和使用在某种程度上是错误的 以下是远期声明: static HRESULT _OpenDatabase( LPCWSTR connectionString, SQLHANDLE hdlStmt, SQLHANDLE hdlEnv, SQLHANDLE hdlConn ); 和调用(获取连接字符串作为输入:\在LPCWSTR ConnectString中)

因为错误消息说,没有带x参数的函数,但实际上有一个(还有一个转发声明),我认为,我试图对它进行的定义和使用在某种程度上是错误的

以下是远期声明:

static HRESULT 
_OpenDatabase(
    LPCWSTR connectionString, 
    SQLHANDLE hdlStmt, 
    SQLHANDLE hdlEnv, 
    SQLHANDLE hdlConn
);
和调用(获取连接字符串作为输入:\在LPCWSTR ConnectString中)


我做错了什么?

你把
&
放在了参数前面。为什么?您有3个
SQLHANDLE
,您需要3个
SQLHANDLE

我想使用_OpenDatabase()函数之外的句柄。我想,我会以这种方式获得对函数内部创建的对象的引用,不是吗?@stl:不,这会给你一个指针。准确地说,是一个
SQLHANDLE*
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
    );