运行显示no match for "operator<<"

dobří lidé C++ 简介及环境搭建 最后由 dobří lidé 于2016年09月09日回复

  • 2 解决
  • 2.7k 浏览

程序如下:

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int dispmat(int n)
{
    vector< vector<string> > res;
    int i,j,count=0;
    string tmp;
    //store values in
    for(i=0;i<n;i++)
    {
        count+=1;
        for(j=1;j<=i;j++)
        {
            if(i==j)
            {
                tmp=(char)(count);
                res[i].push_back(tmp);
            }
            else
            {
                tmp=(char)(count);
                res[i].push_back(tmp);
                res[i].push_back("*");
                count+=1;
            }
        }
    }
    //output
    for(i=0;i<n;i++)
    {
        cout<<res[i]<<endl;
    }
    for(i=n;i>0;i--)
    {
        cout<<res[i]<<endl;
    }
    return 1;
}

然后再主函数调用,但是在cout处显示no match for "operator<<",这是怎么回事啊?