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。有帮助吗?
最佳答案
至少有两点是错误的:
- 您可能希望
if(grid[0][i] = '.')
为if(grid[0][i] == '.')
。不过,这不是问题的原因。 - 您希望
newVec[i] == 1;
为newVec[i] = 1;
。这就是为什么newVec
中的元素未将其值设置为 1 的原因。
关于c++ - 为什么我的 vector 没有按预期初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8103201/