我使用泛型在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();
}
}
};
谢谢你们!
答案 0 :(得分:2)
this
的声音为空,而不是this->Children
。有时可以在空引用上调用非虚函数,并看到结果(在函数内而不是在调用者中发生失败)。