Параметры SQLHANDLE: функция не принимает x аргументов (но на самом деле это так) - PullRequest
0 голосов
/ 15 мая 2018

Я реализовал некоторую функцию в c ++ для обработки sql-запросов и прочего. Поскольку я делаю это в разных функциях с использованием одних и тех же дескрипторов, я даю дескрипторы в качестве параметров (на самом деле я хочу ввести ссылки на дескрипторы - но я новичок в 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
    );

Что я делаю не так?

1 Ответ

0 голосов
/ 15 мая 2018

Вы ставите & перед аргументами. Зачем? У вас есть 3 SQLHANDLE, вам нужно 3 SQLHANDLE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...