if (j < table.size() && i = table[j]) {->if (j < table.size() && i == table[j]) {
一个=是赋值的意思,而两个=才是相等的意思,因此这样改:
if (j < table.size() && i == table[j]) { //代码 }