-1

我有这样的功能

typedef vector<vector<string> > vecArray;
vecArray dul();

vecArray dul() {
    vecArray arr = {
                    { "a", "b", "c" },
                    { "a", "b", "c" },
                    { "a", "v", "d" }
                    };
    return arr;
}

我想在 C++ 函数中返回看起来像波纹管的字符串

{
{"ffsff","aaaasda","ddaddd"},
{"sfsasda","sdadsfd","asasaad"},
{"adacv","fasfaa","asa","aba"}
}
4

1 回答 1

1

您不能使用初始化列表构造向量,因为该功能仅在 C++11 中可用。不过,您可以轻松地使用 2D 数组构造向量。

vecArray dul() {
    string arrTemp [3][3] = //create 2D array of strings
        {
            { "a", "b", "c" },
            { "a", "b", "c" },
            { "a", "v", "d" }
        };

    vecArray arr; //here's our vector

    //for 3 arrays, push each onto back of vector using the iterator constructor
    for (vecArray::size_type i = 0; i < 3; ++i) 
        arr.push_back (vector<string> (arrTemp [i], arrTemp [i] + 3));

    return arr;
}
于 2012-05-03T02:40:17.957 回答