C++ : For Loop and Vectors

标签 c++ vector

我一直致力于 MaxCounters 任务的 Codility。我被卡住了。无论我尝试什么,下面的代码都不会循环

// you can also use includes, for example:
// #include <algorithm>

vector<int> solution(int N, vector<int> &A) 
{
    vector<int> counter (N,0);

    for (int i = 0;i < A.size();i++)
    {
        int value = A.at(i);

        if (value = A.size() + 1)
        {

        }
        else
            counter[value - 1] += 1;
    }

    return (counter);
}

我已经使用这个网站找到了我的问题的解决方案,但无济于事。我不断收到此错误消息。

In file included from user.cpp:20: func.cpp: In function 'std::vector > solution(int, std::vector >&)': func.cpp:7: warning: comparison between signed and unsigned integer expressions func.cpp:11: warning: suggest parentheses around assignment used as truth value

知道为什么它一直抛出这个错误吗?

编辑:从其他测试来看,很明显无论我做了什么练习,我都会遇到这个错误。因此,我得出结论,我还没有理解循环 vector 。遍历 vector 的正确方法是什么?

最佳答案

正如编译器所建议的那样:

if (value = A.size() + 1)

正在为 A.size() + 1 的值赋值,而不是评估它们的相等性

if (value == A.size() + 1)

可能是您想要的。

此外,size() 返回一个 unsigned int,而不是一个 int,因此编译器对此表示不满。

关于C++ : For Loop and Vectors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23034950/

相关文章:

c++ - 如何根据另一个 vector 中给出的索引拆分 vector ?

c++ - EM_SETHANDLE、EM_GETHANDLE 在没有 DS_LOCALEDIT 的情况下工作

c++ - 使用指针和偏移量遍历 stucts 成员的 vector 第 2 部分

c++ - vector 循环的起始值

c++ - 如何在C++中编译具有大量数据的 vector ?

math - 如何将四元数与向量相乘?

java - 使用 PDFBox 在 PDF 上绘制 vector 图像

c++ - 在 C++ 中写入现有的空格二进制文件

c++ - VS 2010 的行计数器

c++ - 在一堆中查找一个项目