C ++ вектор массива строк?

0

Я хочу иметь динамическую структуру, в которую я мог бы продолжить, будет неизвестное количество записей и известное количество строк для каждой записи. Я думал, что вектор массива строк может быть таким, однако я получаю ошибку при компиляции этого:

vector< array<string, 5> >

error: invalid use of incomplete type 'struct std::array<std::basic_string<char>, 5u>'

Что я делаю не так? и если это как-то так - как бы добавить/получить значения в/из этой структуры?

  • 1
    Включите все заголовки, которые вам нужно включить. И убедитесь, что у вас есть C ++ 11.
  • 1
    скомпилировать с -std=c++11
Теги:
string
arrays
vector
dynamic-arrays

1 ответ

3
Лучший ответ

Вы включили все эти три заголовка?

#include <vector>
#include <array>
#include <string>

Это компилируется просто отлично:

#include <vector>
#include <array>
#include <string>

int main(int argc, char const *argv[])
{
    std::vector<std::array<std::string, 5> > myVec;

    return 0;
}
  • 0
    И вторая часть вопроса - как добавить элементы в этот вектор (динамически)?
  • 1
    Использование emplace_back: "myVec.emplace_back ();" или push_back: "myVec.push_back (std :: array <std :: string, 5> ());"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню