如何检查System :: Collections:ArrayList是否为空/ nullptr / null?

时间:2013-07-09 13:30:22

标签: pointers reference c++-cli

我想知道如何在C ++ / CLI中检查是否存在ArrayList。

System::Collections::ArrayList %queue_tx

我尝试了if ( nullptr != queue_tx ) { queue_tx.Add(msg); }但是没有用。我将queue_tx作为参数传递给函数,并且应该可能没有设置此参数(或设置为nullptr)。

编译器抛出'!=' : no conversion from 'System::Collections::ArrayList' to 'nullptr'

我该怎么做?

2 个答案:

答案 0 :(得分:2)

%定义了一个引用变量,这就是它不能为空的原因

如果您已经像这样声明了ArrayList:

System::Collections::ArrayList^ queue_tx

然后你的nullptr检查是可能的并具有含义

否则只需使用queue_tx.Count()检查集合是否为空

我建议过来:

the difference between reference and pointer variables

When to use a Reference VS Pointers

答案 1 :(得分:1)

T%完全不可能为空。