读书人

怎么定义vector存放字符串数组(里面每

发布时间: 2012-03-05 11:54:02 作者: rapoo

如何定义vector存放字符串数组(里面每个元素都是字符串数组)
string ds[6];

strVec.push_back(ds);


vector <string [6]> strVec;
vector <string []> strVec;
vector <string > strVec;
vector < vector <string> > strVec;
这样定义都不行



[解决办法]
vector、string都在名字空间std下面
[解决办法]
把结构调整一下:
string ds[6];
==》
vector <string>

strVec.push_back(ds);
那么 strVec 就可以定义为 vector < vector <string> > strVec;
[解决办法]
#include <string>
#include <vector>

void foo()
{
typedef vector <string> strArray;
typedef vector <strArray> strArray2;

strArray strings1;
strings1.push_back( "string1 ");
strings1.push_back( "string2 ");

strArray2.push_back(strings1);

strArray strings2;
strings2.push_back( "string21 ");
strings2.push_back( "string22 ");

strArray2.push_back(strings2);


}
[解决办法]
string ds[6];

strVec.push_back(vector <string> (ds, ds+6 ));

vector < vector <string> > strVec;

[解决办法]
那是你乱写试图输出这个vector <vector <string> > 的代码的后果。
要2重循环,你少了一重。

读书人网 >C++

热点推荐