我是一名 C# 开发人员,正在学习/再学习/复习 C++
我正在处理数据库访问,我有以下代码,但我无法理解 & 在这种情况下的作用。
SQLHENV hEnv = NULL;
if (SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv) == SQL_ERROR)
{
如果我删除 & 我会收到此错误。
'SQLAllocHandle' : cannot convert parameter 3 from 'SQLHENV' to 'SQLHANDLE *'
起初我以为它只是将此字段作为引用传递,但根据错误,它看起来更像是某种允许它转换的方法?
最佳答案
当在表达式中作为一元运算符出现时,&
是寻址运算符。您显示的代码将指向 hEnv
的指针传递给 SQLAllocHandle()
。
你可能想拿一个 good C++ book .
关于c++ - C++ 新手 - & 参数前面的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14160683/