C++ short* to VARIANT_BOOL*
C++ short* to VARIANT_BOOL*
我有一个函数,它需要一个short*
作为参数。我需要将其转换为VARIANT_BOOL*
.谁能告诉我一个可靠的方法?
我甚至可以将VARIANT_BOOL*
传递给函数,但是VARIANT_BOOL*
没有填充正确的值。
非常感谢您的帮助!
STDMETHODIMP CWrapper::get_IsOpen(VARIANT_BOOL* uIsOpen, LONG* pVal)
{
if (_c)
{
*pVal=_c->IsOpen(uIsOpen); //_c->IsOpen expects short* as argument
return S_OK;
}
else
{
return S_FALSE;
}
}
VARIANT_BOOL
定义为:
typedef short VARIANT_BOOL;
因此,如果要将VARIANT_BOOL
传递给采用short*
的函数,则需要使用&
获取其地址。如果要将short*
指向的short
转换为VARIANT_BOOL
,则需要使用 *
执行间接寻址。
VARIANT_BOOL vb = VARIANT_TRUE;
short* sp = &vb; // VARIANT_BOOL to short*
VARIANT_BOOL vb2 = *sp; // short8 to VARIANT_BOOL
把短VARIANT_BOOL放进短裤里,调用函数,把短头放回VARIANT_BOOL里。
相关文章:
- 写入向量<向量<bool>>
- 在template中使用std::variant的template函数
- C++中原子的替代品<variant>
- 让bool方法返回其他整数
- boost::spirit::karma 替代生成器,带有 boost::variant 由字符串和字符串别名组成
- 使用 std::variant<...时调用 BaseState 函数而不是派生函数>
- 为 std::variant 提供一个运算符 ==
- 如何使用 std::variant 打印地图键/值?
- 如何在 std::vector 中找到<bool>哪些索引是真的?
- Arduino-C++ bool 不会从 false 变为 true
- 在缺少函数重载时抛出异常,并带有 std::variant 而不是编译时错误
- 为什么在这种情况下,bool 类型的输出等于 0?
- 显式 std::exception_ptr 转换为 bool 不存在.VS2010 错误?
- 在 std::tuple 上使用 std::variant 的问题
- 如何访问存储在 std::variant 中的类的方法
- 错误:不能使用"显式"说明符声明 bool'
- 为什么 C++ 11 在 ios 类中添加了运算符 bool
- 更改其类型后,丢失对 std::variant 对象的引用
- 从标准::字符串到标准::矢量<bool>的快速转换
- boost::variant 当 bool 显示为可能的类型时,会给出错误的结果