首页 > 解决方案 > 解决问题时编译器错误c ++

问题描述

我只是在 leetcode 上进行比赛。我提交了我的代码:

class Solution {
public:
    int numOfStrings(vector<string>& patterns, string word) {
        int cnt=0;
        
        for(int j=0;j<patterns.size();j++)
        {
            string ch=patterns[j];
            if(word.size()-ch.size()>=0)
            {for(int i=0;i<=word.size()-ch.size();i++)
            {
                if(ch==word.substr(i,ch.size()))
                {
                    cnt++;
                    break; 
                }
            }}
        }
        return cnt;
    }
};

这不起作用,因为它在 if 语句上显示了一些问题if(word.size()-ch.size()>=0)。当这个 if 语句被重写为if(word.size()>=ch.size())代码工作完全正常时。

如果word.size()-ch.size()>=0word.size()>=ch.size()是等价的陈述为什么你第一个不起作用?

标签: c++compiler-errors

解决方案


推荐阅读