如何检查null_tr的auto_gcroot对象

时间:2016-06-10 10:09:47

标签: c++-cli

我想检查我的C ++ / Cli管理的auto_gcroot是否为null。以下是我的进展:

auto_gcroot<RefClassA^> m_a;

if (static_cast<RefClassA^>(m_a) != nullptr)
    {
        .....
    }

问题是我收到错误:

  

'没有从'auto_gcroot到object ^'的适当转换

1 个答案:

答案 0 :(得分:4)

正如我在评论中所说,我无法在VS2012上重现这一点。

但是,auto_gcroot有一个get方法,它将对象作为普通引用返回。您应该可以将其与nullptr进行比较。

msclr::auto_gcroot<String^> m_a;

if (m_a.get() != nullptr)
{
    // ...
}