C++ 为什么我的向量没有按预期初始化? vector grid(); 对于(int i=0;i

C++ 为什么我的向量没有按预期初始化? vector grid(); 对于(int i=0;i,c++,C++,您可能希望newVec的所有元素现在都等于1。但我一直都是0。有什么帮助吗?至少有两件事不对: 您可能希望if(网格[0][i]='。)成为if(网格[0][i]='。)。但这并不是问题的原因 您需要newVec[i]==1待newVec[i]=1。这就是为什么newVec中的元素没有将其值设置为1的原因 至少有两件事是错误的: 您可能希望if(网格[0][i]='。)成为if(网格[0][i]='。)。但这并不是问题的原因 您需要newVec[i]==1待newVec[i]=1。这就是为什

您可能希望newVec的所有元素现在都等于1。但我一直都是0。有什么帮助吗?

至少有两件事不对:

  • 您可能希望
    if(网格[0][i]='。)
    成为
    if(网格[0][i]='。)
    。但这并不是问题的原因
  • 您需要
    newVec[i]==1
    newVec[i]=1。这就是为什么
    newVec
    中的元素没有将其值设置为1的原因

    • 至少有两件事是错误的:

      • 您可能希望
        if(网格[0][i]='。)
        成为
        if(网格[0][i]='。)
        。但这并不是问题的原因
      • 您需要
        newVec[i]==1
        newVec[i]=1。这就是为什么
        newVec
        中的元素没有将其值设置为1的原因

      这段代码可以编译吗?“
      ”是一个关键字。抱歉,已更改。仍然不起作用。而且您的循环似乎只将前7个设置为1。@user1038665,为了以后参考,最好发布实际编译的完整(但最小!)代码段<代码>这并不是代码中唯一的问题--代码段的第一行声明了一个函数。这段代码可以编译吗?“
      ”是一个关键字。抱歉,已更改。仍然不起作用。而且您的循环似乎只将前7个设置为1。@user1038665,为了以后参考,最好发布实际编译的完整(但最小!)代码段<代码>这并不是代码中唯一的问题——代码片段的第一行声明了一个函数。+1并删除了我的函数,很好地发现了条件中的赋值+1并删除了我的,很好地发现了条件中的任务!
      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;
      }