Сообщения об ошибках достаточно четкие. Например, где-то в коде вы пытаетесь назначить указатель на объект типа std::vector<int> *
на объект типа std::vector<int>
.
Вот демонстрационная программа, которая показывает, как это сообщение об ошибке может быть сгенерированным.
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v1;
std::vector<int> v2;
v1 = &v2;
return 0;
}
Ошибка компиляции:
prog.cpp: In function ‘int main()’:
prog.cpp:9:8: error: no match for ‘operator=’ (operand types are ‘std::vector<int>’ and ‘std::vector<int>*’)
v1 = &v2;
^~
Или (относительно второго сообщения об ошибке) не существует одинарного operator *
для объектов типа std::vector<int>
.
Вот еще одна демонстрационная программа
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v;
*v;
return 0;
}
сообщение об ошибке:
prog.cpp: In function ‘int main()’:
prog.cpp:8:2: error: no match for ‘operator*’ (operand type is ‘std::vector<int>’)
*v;
^~
Возможно, вы должны объявить элемент данных как имеющий тип std::vector<int>
вместо тип указателя.