Итак, я попытался создать вектор, элементы которого являются парами указателя структуры и целого числа, и я начинаю думать, что это может быть невозможно ..
Предположим, у меня есть следующая структура:
struct node{
string str;
int size;
node *child[3];
node(string str1):str(str1){ size = 0;}
};
и вектор:
vector< pair<node*,int> > nodvector;
Затем я попытался создать новый узел и поместить его в вектор, и, видимо, он не работает:
int main(){
node* nod1 = new node("HELLO");
node* nod2 = new node("WORLD");
nodevector.push_back(pair<nod1,3>);
delete nod1;
delete nod2;
}
Компилятор лает на меня, говоря:
nod1 не может появляться в константном выражении
ошибка: неверный аргумент шаблона 1
ошибка: несоответствие типа / значения в аргументе 2 в списке параметров шаблона для структуры struct std :: pair
Это просто что-то невозможное?
Что может быть альтернативным решением этого?
Ваш вклад будет высоко ценится!