对于循环不访问和执行检查

时间:2016-05-02 11:22:01

标签: c++

我的一个for循环没有正确执行,我遇到了一些麻烦。我已经逐步完成了我的代码,试着看看它是怎么回事,但它似乎完全跳过了for循环,因此给出了不正确的输出。

我的for循环看起来像这样:

for (auto &link : p1links){
            if (link->accessTransportType() != type){
                continue;
            }
            if ((p1->accessReference() == link->accessReferenceNumber1() && p2->accessReference() == link->accessReferenceNumber2()) || (p1->accessReference() == link->accessReferenceNumber2() && p2->accessReference() == link->accessReferenceNumber1()))
            {
                anyPASS = true;
            }
        }
        if (anyPASS){
            m_outFile << p1->accessReference() << "," << p2->accessReference() << "," << "PASS" << endl;
            return true;
        }
        else{
            m_outFile << p1->accessReference() << "," << p2->accessReference() << "," << "FAIL" << endl;
            return true;
            break;
        }
    }
    m_outFile << endl;

当我说accessTransportType()等等时,这些是它试图访问的方法。

class Links
{
    public:
    Links(int, int, const string&, bool);
    ~Links();

     int accessReferenceNumber1()const{ return referenceNumber1; }
     int accessReferenceNumber2()const{ return referenceNumber2; }
     string accessTransportType()const{ return transportType; }
     bool accessHasBeenSearched()const{ return hasBeenSearched; }

private:
    int referenceNumber1 = 0;
    int referenceNumber2 = 0;
    string transportType = "";
    bool hasBeenSearched = false;

};

我的输出目前每次都返回FAIL,但我希望在第一次检查时返回PASS,然后在第二次检查时返回FAIL。

0 个答案:

没有答案
相关问题