为什么我的矢量没有按预期初始化?

时间:2011-11-12 07:30:34

标签: c++

vector<string> grid();

for(int i = 0; i < 7; i++)
{
     string hello(10, '.');
     grid.push_back(hello);
}

vector<int> newVec(grid.size(), 0);

for(int i = 0; i < grid.size(); i++)
{
     if(grid[0][i] = '.')
            newVec[i] == 1;
}

你会期望newVec现在所有的元素都等于1.但是我总是得到全0。有什么帮助吗?

1 个答案:

答案 0 :(得分:8)

至少有两件事是错的:

  • 您可能希望if(grid[0][i] = '.')if(grid[0][i] == '.')。不过,这不是问题的原因。
  • 您希望newVec[i] == 1;newVec[i] = 1;。那个是newVec中的元素没有将其值设置为1的原因。