Ссылка на базовый тип элемента, а не структура или объединение

0

Я объявляю массив MyNode в моем.h как MyNode **myArray; ,

Затем в моем.cpp у меня есть myArray = new MyNode*[1]; ,

Всякий раз, когда я пытаюсь вызвать myArray.size() или myArray.resize(), я получаю ошибку:

ссылочный базовый тип элемента 'MyNode **' не является структурой или объединением

Любые идеи, почему я получаю эту ошибку? Благодарю!

Теги:
arrays
pointers
nodes

1 ответ

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

Массивы в C++ не имеют методов, которые вы можете вызвать на них

Если вы хотите сделать такие операции, используйте контейнер:

std::vector<MyNode> myArray(1)

Или, если вы не будете изменять размер массива динамически:

std::array<MyNode, 12> myArray;
  • 0
    или используйте std::array , если вы действительно хотите массив.

Ещё вопросы

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