block[i] に問題があるようですが、どうすれば解決できますか?
for(int i=0;i<range.size();i++)
        {
            vector <string> block(i);
        }
for(int i=0; i<range.size();i++)
    {
    int counter=1;
    if(range[counter] == block[i])
    {    
       block[i].push_back(range[counter-1]); <<<<<<<< ERROR: No match for call
       counter++;
    } 
    }