无法解析基于模板的标识符大小

时间:2016-06-21 16:00:11

标签: c++ size warnings

我在Netbeans IDE 8.1中工作,我的项目中使用C ++代码遇到标识符'size'的问题。 我把代码放在下面:

#include <cstdlib>
#include <vector>
#include <iostream>
#include <string>
#include <fstream>

using namespace std;
void copyLabyrinthWithFileToVector(vector<string> &wektor)
{
    ifstream file;
    string line;
    file.open("aa.txt");
    if(file.good())
    {
        while(file>>line)
        {
            wektor.push_back(line);
        }
    }
}

void findTheStartingPoint(int &i,int &j,vector<string> wektor)
{
    for(int k=0;k<wektor.size();k++)
    {
        for(int l=0;l<wektor[k].size();l++)
        {
            if(wektor[k][l]=='S')
            {
                i=k;
                j=l;
                return;
            }
        }
    }
}
void makeStep(int i,int j,vector<string> &wektor,string &output)
{
    if((i+1)<wektor.size() && wektor[i+1][j]=='W')
    {
        output="output is coordinate "+to_string(i+1)+" "+to_string(j)+"\n";
    }

    if((j+1)<wektor[i].size() && wektor[i][j+1]=='W')
    {
        output="output is coordinate "+to_string(i)+" "+to_string(j+1)+"\n";
    }

    if((i-1)>0 && wektor[i-1][j]=='W')
    {
        output="output is coordinate "+to_string(i-1)+" "+to_string(j)+"\n";
    }

    if((j-1)>=0 && wektor[i][j-1]=='W')
    {
        output="output is coordinate "+to_string(i)+" "+to_string(j-1)+"\n";
    }

    if((i+1)<wektor.size() && j<wektor[i+1].size() && wektor[i+1][j]=='.' && wektor[i+1][j]!='#') 
    {
        wektor[i][j]='w';
        makeStep((i+1),j,wektor,output);
    }

    if(i<wektor.size() && (j+1)<wektor[i].size() && wektor[i][j+1]=='.' && wektor[i][j+1]!='#')
    {
        wektor[i][j]='w';
        makeStep(i,(j+1),wektor,output);
    }

    if((i-1)>=0 && j<wektor[i-1].size() && wektor[i-1][j]=='.' && wektor[i-1][j]!='#')
    {
        wektor[i][j]='w';
        makeStep((i-1),j,wektor,output);
    }

    if(i<wektor.size() && (j-1)>=0 && wektor[i][j-1]=='.' && wektor[i][j-1]!='#')
    {
        wektor[i][j]='w';
        makeStep(i,(j-1),wektor,output);
    }
    else
    {
        return;
    }
}
int main(int argc, char** argv) 
{
    string output;
    int i,j;
    vector<string> labyrinth;
    copyLabyrinthWithFileToVector(labyrinth);
    findTheStartingPoint(i,j,labyrinth);
    makeStep(i,j,labyrinth,output);
    for(int k=0;k<labyrinth.size();k++)
    {
        for(int l=0;l<labyrinth[k].size();l++)
        {
            cout<<labyrinth[k][l];
        }
        cout<<endl<<endl;
    }
    if(output.empty())
    {
        cout<<"No exit";
    }
    else
    {
        cout<<output<<endl;
    }
    return 0;
}

在该行的左侧显示黄色警告灯泡,其中“.size()” 我怎么能发出这个警告?

我知道,这些警告不会在程序运行中受到干扰,但我想删除它们。

我的C ++代码必须改变什么?

我不懂英语,所以我使用了波兰语 - 英语翻译。

我希望我很好,并且清楚地描述了我的问题。

我在等待回复

0 个答案:

没有答案