方法:检查数组<t> ^ == nullptr? C ++ / CLI </t>

时间:2010-08-02 13:17:05

标签: .net generics c++-cli command-line-interface

我使用泛型在C ++ / CLI中完成了一个非常基础的类。 如何检查通用数组^ equals nullptr?

generic<class T> where T: IGenericContainable
public ref class FIBEXGenericContainer abstract : AbstractFIBEXNode
{
public:
    property array<T>^ Children;

public:

    property T default[String^]
    {
        T get(String^ aID)
        {
            if(nullptr == Children)
                Console::WriteLine("this won't happen, because I get an NullReferenceException in the above line");

            for each(T tObj in Children)
            {
                if(aID == tObj->ID)
                    return tObj;
            }

            return T();
        }
    }
};

谢谢你们!

1 个答案:

答案 0 :(得分:2)

this的声音为空,而不是this->Children。有时可以在空引用上调用非虚函数,并看到结果(在函数内而不是在调用者中发生失败)。