如何返回指向对象的指针?

时间:2016-04-07 18:57:49

标签: c++

我创建了两个名为Pair的类(因为数据成员有一个动态分配的字符数组用于KEY和double用于值)和另一个Collection(它是Pairs的集合,作为数据成员,它有一个动态分配的数组)对,以及sizeOfPairs的int变量。 Collection类应该有一个方法,该方法应该返回一个指向带有提供键的第一个对象的指针,如果这样的对象不存在则返回NULL指针。这是我用该方法得到的距离,但是我得到了一个错误(错误:间接需要指针操作数('Pair'无效))第4行。我返回指向对象的指针的方式是正确的吗?

Pair *find(const char *key){
        for(int i = 0; i < sizeOfPair; ++i){
        if(pair[i].getKey() == key){
            return *pair[i];
        }else{
            return NULL;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

Pair *find(const char *key){
        for(int i = 0; i < sizeOfPair; ++i){
        if(pair[i].getKey() == key){
            return pair + i; // Address of pair[i]
        }else{
            return NULL;
        }
    }
}