简单的if循环不能正常工作

khf*_*kek 1 c++ if-statement

我有一个非常简单的if循环,它接受一个名为data的数组(向量向量),读取EACH行的第0个元素(即data [i] [0]元素),并输出特定于THAT的第5个元素行IFF它满足条件,即第一个元素等于整数pid(用户在代码中先前定义.)如果行不以该元素开头,我希望它不输出任何内容.

这是我的循环代码:

for(int i = 0; i < data.size(); i++)  {
    if(data[i][0] = pid) {
        cout << data[i][5] << endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行程序时,它输出每行的第5个元素,而不仅仅是以pid开头的那个元素.AKA,c ++似乎完全无视我的if语句.

有没有人对此有答案?

先感谢您!

m.s*_*.s. 5

您需要使用==而不是=if条件内:

if(data[i][0] == pid) 
Run Code Online (Sandbox Code Playgroud)

否则,您只是将值pid赋给数组元素,如果pid不是,则为true 0.